Как изменить один объект при наведении курсора на другой с помощью CSS псевдокласса :hover?

Как можно реализовать смену цвета фона и текста при наведении на ссылку в меню, чтобы при наведении на другую ссылку предыдущая переставала светиться?
  • 18 апреля 2024 г. 8:50
Ответы на вопрос 2
Для изменения одного объекта при наведении на другой с помощью CSS псевдокласса :hover необходимо использовать комбинацию селекторов. Например:

```css
.button:hover .icon {
  color: red;
}
```

Этот код изменит цвет иконки внутри кнопки при наведении на саму кнопку.

Чтобы реализовать смену цвета фона и текста при наведении на ссылку в меню и чтобы предыдущая ссылка прекращала светиться, можно использовать следующий CSS:

```css
.menu-link {
  color: black;
  background-color: white;
  transition: all 0.3s; /* добавляем плавный переход */
}

.menu-link:hover {
  color: white;
  background-color: black;
}

.menu-link:hover ~ .menu-link {
  color: black;
  background-color: white;
}
```

Этот код задаст цвет фона и текста для ссылок в меню, а также установит плавный переход при изменении цвета. При наведении на одну из ссылок, она поменяет цвета на противоположные, а предыдущая ссылка вернется к изначальным цветам.
nav:hover .master { bg: black; }
nav:hover .master:hover { bg: blue; }


Можно через has

nav:has(.rabota:hover) .master {  bg: black; }
// Если внутри nav навели на ссылку работа, то у мастера выключить подсветку
Похожие вопросы