Использование :hover | WebReference

На примере ссылок использование :hover выглядит следующим образом.

a { color: green; }
a:hover { color: red; }

Сперва мы определяем исходный стиль элемента, в частности, задаём цвет ссылок с помощью селектора A зелёным. Затем ниже пишем тот же селектор и через двоеточие без пробелов добавляем к нему :hover. После этого идут стилевые правила, которые должны проявляться при наведении курсора на элемент. В данном случае мы меняем цвет ссылки на красный.

:hover прекрасно сочетается не только с простыми селекторами элементов, но и с классами, а также работает в комбинациях селекторов, что позволяет на одной веб-странице делать группы ссылок разных видов. В примере 1 ссылки в <header> добавлены без традиционного подчёркивания через свойство text-decoration со значением none. При наведении на эти ссылки добавляется подчёркивание с помощью значения underline. В <footer> ссылки при наведении просто меняют свой цвет.

Пример 1. Использование :hover для ссылок

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Сальса</title> <style> header { background: #e2edc1; } footer { background: #f4783b; } ul { margin: 0; padding: 10px; } li { display: inline; margin-right: 10px; } header a { color: #333391; /* Цвет ссылок */ text-decoration: none; /* Убираем подчёркивание */ } header a:hover { text-decoration: underline; /* Добавляем подчёркивание при наведении */ } footer a { color: #fff; } footer a:hover { color: #333; } </style> </head> <body> <header> <ul> <li><a href=»#»>Uno</a></li> <li><a href=»#»>Dos</a></li> <li><a href=»#»>Tres</a></li> </ul> </header> <main> <p>Сальса — современный социальный танец. Как многие латиноамериканские танцы, сальса экспрессивна, разнообразна и богата импровизацией.
</p> </main> <footer> <ul> <li><a href=»#»>Cinco</a></li> <li><a href=»#»>Seis</a></li> <li><a href=»#»>Siete</a></li> </ul> </footer> </body> </html>

Результат данного примера показан на рис. 1.

Рис. 1. Ссылки разных цветов

Надо учитывать, что в некоторых ситуациях :hover может не давать видимого результата, когда он неявно переопределяется. В приведённом стиле :hover не меняет цвет у посещённых ссылок, поскольку псевдокласс :visited располагается в коде ниже :hover.

a { color: green; }
a:hover { color: red; }
a:visited { color: purple; }

Обращайте внимание, что положение в коде влияет на конечный результат. Достаточно поставить :hover ниже :visited и цвет посещённых ссылок при наведении будет меняться на красный.

a { color: green; }
a:visited { color: purple; }
a:hover { color: red; }

См.

также
  • :focus на мобильных устройствах
  • <a>
  • text-decoration-skip-ink
  • Виды ссылок
  • Всплывающая подсказка
  • Наследование в CSS
  • Нормальное позиционирование
  • Переходы с помощью :hover
  • Подсветка строк и колонок таблицы
  • Псевдокласс :hover
  • Псевдоклассы в CSS
  • Работа с типографикой
  • Селекторы CSS
  • Сочетание с псевдоклассами
  • Ссылки
  • Ссылки
  • Ссылки в HTML
  • Якоря

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 11. 03.2020

Редакторы: Влад Мержевич

Псевдокласс :hover
Ctrl+

Подсветка строк и колонок таблицы
Ctrl+

html — Установить: наведение на основе класса

Задавать вопрос

спросил

Изменено 1 год, 6 месяцев назад

Просмотрено 237 тысяч раз

У меня есть следующий HTML:

 
 

В CSS я хочу установить a:hover для этих пунктов меню на определенный цвет. Поэтому я пишу:

 .menu a:hover
{
    цвет:#ДДД;
}
 

Но я хочу установить этот цвет a:hover только для тех тегов с классом main-nav-item , а не main-nav-item-current , потому что он имеет другой цвет и не должен меняться при наведении. Все теги

в меню div должны менять цвет при наведении, кроме тега с текущий класс .

Как это сделать с помощью CSS?

Я пробовал что-то вроде

 .menu a:hover .main-nav-item
{
    цвет:#ДДД;
}
 

думая, что только те, у которых есть класс main-nav-item, будут менять цвет при наведении, а не текущий. Но это не работает.

  • html
  • css
  • цветов
  • наведение
  • привязка

Попробуйте это:

 .menu a.main-nav-item:hover { }
 

Чтобы понять, как это работает, важно читать это так, как это делает браузер. a определяет элемент, .main-nav-item квалифицирует элемент только к тем, которые имеют этот класс, и, наконец, псевдокласс

:hover применяется к уточненному выражению, которое идет раньше.

В основном это сводится к следующему:

Примените это правило наведения ко всем элементам привязки с классом main-nav-item , которые являются потомками любого элемента с меню класса .

2

Каскадирование вас кусает. Попробуйте это:

 .menu > .main-nav-item:hover
    {
        цвет:#ДДД;
    }
 

В этом коде говорится, что нужно захватить все ссылки, которые имеют класс main-nav-item И являются дочерними элементами меню класса, и применять цвет #DDD при наведении на них курсора.

1

Установите a:hover на основе класса, который вы можете просто попробовать:

 a.main-nav-item:hover { }
 

как насчет .main-nav-item: hover

это снижает специфичность

попробуйте это

 .div
{
текстовое оформление: нет;
размер шрифта: 16;
дисплей:блок;
отступ: 14 пикселей;
}
.div а: наведите курсор
{
цвет фона:#080808;
белый цвет;
}
 

Допустим, у нас есть тег привязки, используемый в нашем коде, и класс "div" вызывается в основной программе. a:hover сделает свое дело, он придаст черному цвету вампира фон и белый цвет тексту, когда над ним будет наведена мышь, вот что означает наведение.

Одной из распространенных ошибок является оставление пробела перед именами классов. Даже если это был правильный синтаксис:

 .menu a:hover .main-nav-item
 

это никогда бы не сработало.

Поэтому вы бы не писали

 .menu a .main-nav-item:hover
 

будет

 .menu a.main-nav-item:hover
 

Я обнаружил, что если вы добавите !important , он будет работать, хотя раньше этого не было.

 a.main-nav-item: ссылка {
      цвет: синий !важно;
    }
    a.main-nav-item: посетил {
      цвет: красный !важно;
    }
    a.main-nav-item: hover {
      цвет: фиолетовый !важно;
    }
    a.main-nav-item: фокус {
      цвет: зеленый !важно;
    }
    a.main-nav-item:active {
      цвет: зеленый !важно;
    }
 

Кроме того, я где-то читал, что порядок важен. Мнемоника «LoVe HaTe» поможет вам запомнить это: ссылка -> посещено -> наведите курсор -> активен

.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

html - CSS Hover только на текст?

Задавать вопрос

спросил

Изменено 1 год, 11 месяцев назад

Просмотрено 9к раз

Если у меня есть следующий HTML-код с пользовательским классом CSS:

 . custom_list_item {
  черный цвет;
}

.custom_list_item:наведите {
  красный цвет;
} 
 
Test

Таким образом, при наведении курсора на все поле текст становится красным. Есть ли способ убедиться, что это происходит только при наведении курсора только на сам текст?

  • HTML
  • CSS
  • текст
  • наведение

3

Оберните его пролетом . p растянулся бы на всю ширину div .

 .custom_list_item {
    черный цвет;
}

.custom_list_item диапазон: наведение {
    красный цвет;
} 
 
Тест

1

Оберните его в диапазон, затем введите стиль:

 .custom_list_item {
  черный цвет;
}

.custom_list_item диапазон: наведите {
  красный цвет;
} 
 <дел>
  Тест
 

2

Изменить свойство display этого div с блок до встроенный блок .

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *