:hover ⚡️ HTML и CSS с примерами кода
Псевдокласс :hover срабатывает, когда пользователь наводит на элемент мышью, но не обязательно активирует его.
Демо
Этот стиль может переопределяться другими относящимися к ссылкам псевдоклассами, такими как :link, :visited и :active, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вам нужно вставлять правило :hover до правил :link и :visited, но после :active, как определено в LVHA-порядке: :link — :visited — :hover — :active.
Псевдокласс :hover может применяться к любому псевдоэлементу.
Браузеры, такие как Firefox, Internet Explorer, Safari, Opera или Chrome, применяют соответствующий стиль, когда курсор (указатель мыши) наводится на элемент.
Псевдоклассы- :active
- :any-link
- :blank
- :checked
- :current()
- :default
- :defined
- :dir()
- :disabled
- :empty
- :enabled
- :first
- :first-child
- :first-of-type
- :focus
- :focus-visible
- :focus-within
- :fullscreen
- :future
- :has()
- :host
- :host()
- :host-context()
- :hover
- :indeterminate
- :in-range
- :invalid
- :is()
- :lang()
- :last-child
- :last-of-type
- :left
- :link
- :local-link
- :not()
- :nth-child()
- :nth-col()
- :nth-last-child()
- :nth-last-col()
- :nth-last-of-type()
- :nth-of-type()
- :only-child
- :only-of-type
- :optional
- :out-of-range
- :past
- :placeholder-shown
- :read-only
- :read-write
- :required
- :right
- :root
- :scope
- :target
- :target-within
- :user-invalid
- :valid
- :visited
- :where()
Синтаксис
/* Selects any <a> element when "hovered" */
a:hover {
color: orange;
}
Спецификации
- WHATWG HTML Living Standard
- Selectors Level 4
- Selectors Level 3
- CSS Level 2 (Revision 1)
Описание и примеры
Пример 1.
Выпадающее менюС псевдоклассом :hover вы можете создавать сложные каскадные алгоритмы. Эта техника часто используется, например, чтобы создать выпадающие меню на чистом CSS (только на CSS, без использования JavaScript). Сущность этой техники — создание правил, типа следуюшего:
CSSHTML
div.menu-bar ul ul {
display: none;
}
div.menu-bar li:hover > ul {
display: block;
}
<div>
<ul>
<li>
<a href="example.html">Меню</a>
<ul>
<li>
<a href="example.html">Ссылка</a>
</li>
<li>
<a href="example.html"
>Подменю</a
>
<ul>
<li>
<a href="example.html"
>Подменю</a
>
<ul>
<li><a href="example.html">Ссылка</a></li>
<li><a href="example.
html">Ссылка</a></li>
<li><a href="example.html">Ссылка</a></li>
<li><a href="example.html">Ссылка</a></li>
</ul>
</li>
<li><a href="example.html">Ссылка</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Смотрите полный пример выпадающего меню, основанный на CSS.
Пример 2. Галерея полноразмерных изображений и превью
Вы можете использовать псевдокласс :hover, чтобы создать галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши. Посмотрите это демо.
Пример 3
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>hover</title>
<style>
a:link {
color: #0000d0; /* Цвет ссылок */
padding: 2px; /* Поля вокруг текста */
}
a:hover {
background: #786b59; /* Цвет фона под ссылкой */
color: #ffe; /* Цвет ссылки */
}
</style>
</head>
<body>
<p><a href="1.
html">Ссылка 1</a></p>
<p><a href="2.html">Ссылка 2</a></p>
<p><a href="3.html">Ссылка 3</a></p>
</body>
</html>
В данном примере псевдокласс :hover применяется к ссылке (тегу <a>), при этом меняется цвет ссылки и фона под ней. Результат:
Пример 4
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>hover</title>
<style>
ul {
width: 180px; /* Ширина меню */
list-style: none; /* Для списка убираем маркеры */
margin: 0; /* Нет отступов вокруг */
padding: 0; /* Убираем поля вокруг текста */
font-family: Arial, sans-serif; /* Рубленый шрифт для текста меню */
font-size: 10pt; /* Размер названий в пункте меню */
}
li ul {
position: absolute; /* Подменю позиционируются абсолютно */
display: none; /* Скрываем подменю */
margin-left: 165px; /* Сдвигаем подменю вправо */
margin-top: -2em; /* Сдвигаем подменю вверх */
}
li a {
display: block; /* Ссылка как блочный элемент */
padding: 5px; /* Поля вокруг надписи */
text-decoration: none; /* Подчеркивание у ссылок убираем */
color: #666; /* Цвет текста */
border: 1px solid #ccc; /* Рамка вокруг пунктов меню */
background-color: #f0f0f0; /* Цвет фона */
border-bottom: none; /* Границу снизу не проводим */
}
li a:hover {
color: #ffe; /* Цвет текста активного пункта */
background-color: #5488af; /* Цвет фона активного пункта */
}
li:hover ul {
/* При выделении пункта курсором мыши отображается подменю */
display: block;
}
.
brd {
border-bottom: 1px solid #ccc; /* Линия снизу */
}
</style>
</head>
<body>
<ul>
<li>
<a href="russian.html">Русская кухня</a>
<ul>
<li><a href="linkr1.html">Бефстроганов</a></li>
<li><a href="linkr2.html">Гусь с яблоками</a></li>
<li>
<a href="linkr3.html">Крупеник новгородский</a>
</li>
<li>
<a href="linkr4.html"
>Раки по-русски</a
>
</li>
</ul>
</li>
<li>
<a href="ukrainian.html">Украинская кухня</a>
<ul>
<li><a href="linku1.html">Вареники</a></li>
<li>
<a href="linku2.html">Жаркое по-харьковски</a>
</li>
<li>
<a href="linku3.
html">Капустняк черниговский</a>
</li>
<li>
<a href="linku4.html"
>Потапцы с помидорами</a
>
</li>
</ul>
</li>
<li>
<a href="caucasus.html">Кавказская кухня</a>
<ul>
<li><a href="linkc1.html">Суп-харчо</a></li>
<li><a href="linkc2.html">Лилибдж</a></li>
<li><a href="linkc3.html">Чихиртма</a></li>
<li>
<a href="linkc4.html">Шашлык</a>
</li>
</ul>
</li>
<li>
<a href="asia.html"
>Кухня Средней Азии</a
>
</li>
</ul>
</body>
</html>
В данном примере псевдокласс :hover добавляется к элементу списка (тег <li>) для создания двухуровневого меню.
См. также
:link:visited:active
Ссылки
- Псевдо-класс
:hoverMDN (рус.)
Как создать эффекты наложения изображения при наведении с помощью CSS?
Как создать эффекты наложения изображения при наведении с помощью CSS?
Как создать эффекты наложения изображения при наведении с помощью CSS?
Обзор
В изображении эффектов наведения CSS мы добавим другое изображение к основному изображению, чтобы другое изображение можно было увидеть, размывая основное изображение при наведении на него курсора. Мы достигнем этого, используя 5 различных типов эффектов наведения.
- Фейд
- Слайд-топ
- Нижняя часть слайда
- Слайд влево
- Ползун вправо
Предварительные требования
Изучение основ CSS
Изучение основ HTML
Как создать эффект наложения изображения при наведении с помощью CSS?
Когда пользователь наводит курсор на элемент в CSS, этот элемент реагирует, запуская эффекты перехода.
Это эффективный подход к улучшению взаимодействия с пользователем, который используется для выделения важных элементов на веб-странице.
Эффект наложения изображения при наведении добавляет другой эффект или изображение поверх основного изображения. Эффект наложения CSS можно создать, используя следующее:
- Он будет состоять из двух разделов, один из которых будет наложенным и будет содержать изображение, которое будет отображаться при наведении курсора на изображение.
- Другой будет контейнером, который будет содержать как оверлей, так и изображение.
Давайте создадим базовый HTML-код, содержащий изображение.
<голова>
<мета-кодировка="UTF-8">
Масштабирование изображения при наведении курсора
голова>
<тело>
<центр>
центр>
тело>
Вывод:
Типы эффектов при наведении в CSS
Fade
В эффекте Fade , когда мы наводим курсор на изображение, наложение появляется в верхней части изображения.
Здесь мы устанавливаем ширину и высоту изображения, затем мы регулируем высоту разделения контейнера, чтобы относительно второго контейнера div был эффект наложения, который создает эффект наведения на базовое изображение.
Пример из Fade эффект:
<голова>
<мета-кодировка="UTF-8">
Наложение изображения
<стиль>
.контейнер
{
положение: родственник;
ширина: 250 пикселей;
высота: 250 пикселей;
отображение: встроенный блок;
}
.изображение
{
дисплей: блок;
ширина: 250 пикселей;
высота: 250 пикселей;
}
.оверлей
{
положение: абсолютное;
переход: все .3s легкость;
непрозрачность: 0;
цвет фона: #eee;
}
.container: наведение .overlay
{
непрозрачность: 1;
}
.эффект наложения
{
ширина: 250 пикселей;
высота: 250 пикселей;
верх:0;
слева: 0;
цвет фона: #00b1ba;
}
стиль>
голова>
<тело>
<дел>
pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg" alt="img" >
<дел>

container: наведение .overlay {
непрозрачность: 1;
}
.overlayTop{
ширина: 250 пикселей;
высота: 0;
сверху: 0;
справа: 0 пикселей;
цвет фона: #00b1ba;
}
.container: наведение .overlayTop{
высота: 250 пикселей;
}
стиль>
голова>
<тело>
<дел>
изображение {
ширина: 250 пикселей;
высота: 250 пикселей;
}
.контейнер {
положение: родственник;
ширина: 250 пикселей;
высота: авто;
}
.оверлей {
положение: абсолютное;
переход: все 0,3 с легкости;
непрозрачность: 0;
цвет фона: #eee;
}
.container: наведение .overlay {
непрозрачность: 1;
}
.overlayBottom{
ширина: 250 пикселей;
высота: 0;
внизу: 0;
справа: 0 пикселей;
цвет фона: #00b1ba;
}
.container: hover .overlayBottom{
высота: 255 пикселей;
}
стиль>
голова>
<тело>
<дел>
Здесь высота изображения установлена на 250 пикселей, ширина установлена влево и равна нулю. Когда мы наводим курсор на изображение, эффект наведения будет постепенно перемещаться слева направо.
container: hover .overlayLeft{
ширина: 250 пикселей;
}
стиль>
голова>
<тело>
<дел>
оверлей {
положение: абсолютное;
переход: все 0,3 с легкости;
непрозрачность: 0;
цвет фона: #eee;
}
.container: наведение .overlay {
непрозрачность: 1;
}
.overlayRight{
высота: 100%;
ширина: 0;
сверху: 0;
справа: 0 пикселей;
цвет фона: #00b1ba;
}
.container: hover .overlayRight {
ширина: 250 пикселей;
}
стиль>
голова>
<тело>
<дел>


картинка {
переход: свойство продолжительности, временная функция, задержка | начальная | наследование;
}
//Это свойство используется для изменения свойств изображения при наведении
изображение: наведите {
преобразование: нет|функции преобразования| первоначальный|наследовать;
}

Таким образом, элемент 