Как сделать hover на родителя и потомка, чтобы срабатывали одновременно?

Есть блок белого цвета, в данный блок вложен блок (синего цвета) с вложенным в него иконочным шрифтом (белого цвета). Как сделать так, чтобы при наведении на родительский блок он становился синего цвета, а вложенный в него блок становился белого цвета, а иконочный шрифт синего цвета?

Можно ли это сделать на CSS?

Примерно как на картинке


Ответы (1 шт):

Автор решения: ZxNuClear

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
  background-color: rgb(171, 223, 216);
}

.main {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-direction: column;
  height: 150px;
  width: 150px;
  border-radius: 15px;
  background-color: white;
  box-shadow: 0 0 5px rgba(87, 87, 87, 0.3);
}

.main > .icon > span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 75px;
  width: 75px;
  border-radius: 50%;
  background-color: rgb(88, 193, 224);
  color: white;
}

.main:hover {
  background-color: rgb(88, 193, 224);
  color: white;
}

.main:hover > .icon > span  {
  background-color: white;
  color: rgb(88, 193, 224);
}
<head>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200" />
</head>

<body>
  <div class="main">
    <div class="icon">
      <span class="material-symbols-outlined" style="font-size:56px;">keyboard_command_key</span>
    </div>
    <span>My icon</span>
  </div>
</body>

→ Ссылка