Hover style: html — Как прописать :hover внутри style=’ ‘?

Содержание

html — css hover: эфект (для списка)

(!) Осторожно, пиксели.

Задолбался переделывать ваш код, сделал с нуля, наверно сможете уже допилить его к себе)

Вместо кругляшек выступают обычные блоки с border-radius: 50%. А при наведении — убираю радиус бордеров справа.

JsFiddle

.bubu {
  padding: 5px 0; 
  border: 1px solid red; /* для наглядности */
  width: 160px; 
  position: relative; /* У кругляшек абсолютная позиция. 
  А этот фрагмент у родительского блока, будет удерживать их внутри */
  cursor: pointer;
  box-sizing: border-box;/*Это важно, чтобы при наведении padding не сдвигал блок*/
  transition: 0.5s;
}

.bubble {
  width: 16px; height: 16px; position: absolute;
  right: 15px; top: 6px;
  background-color: #236; border-radius: 8px;
  transition: 0.2s;
}

.bubu:hover .bubble {
  right: 0; width: 31px; 
  /* собственная ширина была 16, right: 15; 
   * Теперь right: 0; а ширина стала 16 + 15 px
   */
  border-radius: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #bc007c;
}

. bubu:hover {
  padding-left: 15px;
  color: #bc007c;
}
<ul>
  <a href="#">
    <li>Новые<div></div></li>
  </a>
  <li>Бубу<div></div></li>
  <li>Чебурашки<div></div></li>
</ul>

P.s. вместо padding-left, padding-right по-отдельности, можно прописать сразу 4 числа в один. Начиная с верхнего padding-top, дальше всё идет по стрелке часов:

padding: верх право вниз лево;
____________

padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;

сокращается до:

padding: 10px 20px 30px 40px;

Та же история и с margin. А если там всего два числа, первая означает верх-вниз, второе: лево-право.

Ссылки в CSS (text-decoration, :hover, :active, :visited, :link)

По умолчанию практически во всех браузерах ссылки выглядят одинаково: они подчёркнуты чертой и имеют синий цвет. Все эти свойства можно переопределить через CSS. Для начала попробуем изменить положение черты, используя свойство text-decoration, которое может принимать значения «underline», «overline», «line-through», «none». Рассмотрим последовательно эффект от каждого.

Рассмотрим ссылку:

<a href="/">MouseDC.ru</a>

Так будет выглядеть обычная ссылка на сайте, на котором нет никаких CSS правил (дизайн ссылки задаётся полностью браузером):

MouseDC.ru

overline ставит линию над текстом

<a href="/">MouseDC.ru</a>

результат:

MouseDC.ru

line-through перечёркивает текст посередине

<a href="/">MouseDC.ru</a>

результат:

MouseDC.ru

underline подчёркивает текст снизу (это значение по умолчанию в браузерах)

<a href="/">MouseDC.ru</a>

результат:

MouseDC.ru

none убирает подчёркивание:

<a href="/">MouseDC. ru</a>

результат:

MouseDC.ru

Состояния ссылок

Браузеры умеют понимать состояние ссылок. Этих состояний может быть несколько. Их можно отследить и задать им CSS свойства. Для этого используются псевдоклассы:

«:hover» — это псевдокласс, который указывает на состояние, при котором на ссылку навели курсор мыши. Пример использования в CSS коде:

a:hover{
   font-size: 30px;
   color: red;
}

Псевдокласс «:hover» есть не только у ссылок, но и у любых других тегов. Этот псевдокласс часто применяется для создания выпадающих меню, которые появляются при наведении мышкой на пункт-родитель.

«:active» — указывает на то, что на элемент кликнули и зажали кнопку мыши, но ещё не отпустили.

«:visited» — указывает на то, что пользователь уже переходил по этой ссылке.

«:link» — псевдокласс по умолчанию. Указывает на ссылку, которую ещё не посетили.

К примеру, если вы уже переходили по ссылке на странице, то она изменяет свой цвет. Если поднести курсор мыши к ссылке, то она окрасится в другой цвет. Если кликнуть на ссылку и зажать кнопку мыши, то . Свойства таких ссылок можно задать через CSS.

Попробуем это сделать, на примере использования псевдокласса «:visited«.

a:visited {
   color: green;
}

решение проблем с эффектом наведения на сенсорных устройствах

От автора: с псевдоклассом :hover CSS возникали проблемы с тех пор, как на устройстве с сенсорным экраном был установлен первый веб-браузер. Конечно, появлялись определенные решения, но ни одно из них не было достаточным. С новыми Level 4 Media Queries эта проблема, кажется, решена навсегда.

«Хм… а в чем проблема?»

Допустим, вы просто добавили к элементу веб-страницы стиль :hover, поэтому он получает некоторый стиль, когда на него наводится курсор мыши. Просто.

Наведение на настольном компьютере. Источник: //proper-hovering.glitch.me

Проблема возникает, когда пользователь взаимодействует с этим элементом на сенсорном экране: после того, как выполнено нажатие, эффект наведения для элемента закрепляется. Это также происходит, когда элемент даже не активируется касанием, например, если к нему прикоснулись во время прокрутки.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Если перетаскивание начинается на элементе, применяется эффект наведения, потому что технически объект указателя (это ваш палец, как правило) находится над элементом. Это проблема само по себе: на сенсорном устройстве это является нежелательным взаимодействием с пользователем.

Тем не менее, ситуация становится еще хуже: после прекращения перетаскивания эффект наведения остается активным!

Наведение на сенсорном экране (эмуляция). Источник: //proper-hovering.glitch.me

Это определенно запутает некоторых из ваших пользователей, и это никогда не будет хорошо. Что-то должно быть сделано.

«Уже должно было появиться какое-то решение…»

Ну, есть некоторые, большинство из которых описаны в этой прекрасной статье. Лучшее из них включает в себя использование JavaScript для определения наличия сенсорных функций экрана, применение на основании этого класса для body, а затем явное указание на этот класс каждый раз, когда к любому элементу применяется эффект :hover.

body.nontouch nav a:hover {
background: yellow;
}

body.nontouch nav a:hover {

    background: yellow;

}

Это метод изначально связан с рядом проблем:

Разработчик может создать сценарий обнаружения, который хорошо работает сегодня, но что будет через два месяца, когда появится какая-то новая технология? Ноутбуки с сенсорными экранами? Съемные сенсорные экраны? Apple Pencil? Я, скорее всего, не заботился бы об этом во время разработки.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Можно подумать, что у сообщества JS есть готовый пакет, предназначенный именно для этой проблемы, но это не так.

При использовании с инкапсулированными стилями, основанными на компонентах JS-фреймворка, это решение вносит просто огромный разлад. Каждый раз, когда используются эффекты наведения, стили этого компонента должны ссылаться на этот глобальный класс. Неудобно.

Не будет двух одинаковых проектов, использующих это решение. Может быть, один работает хорошо на определенном устройстве, а на другом — нет. Должен быть стандартизированный способ решить эту проблему.

Введение Level 4 Media Queries

Медиа-запросы великолепны. Они в одиночку создали адаптивный веб-дизайн и являются краеугольным камнем в современной мобильной веб-разработке. В качестве отличной инициативы W3C добавил Функции взаимодействия с медиа в качестве рекомендации для L4 Media Queries, и мы можем их использовать для распознавания устройств с сенсорным экраном.

Включены четыре медиа-запроса: hover, any-hover, pointer и any-pointer. Они предоставляют информацию о возможности наведения и типе пользовательских вводов. Информация может быть только о первичном вводе или о любом доступном вводе. Например, @media(hover: hover) будет true, если основной ввод может быть наведением (например, курсор мыши), а @media(any-pointer: coarse) будет true, если какой-либо ввод имеет ограниченную точность (например, сенсорный ввод). Эти медиа-функции предоставляют достаточно информации для правильной обработки :hover.

Одна из проблем заключается в том, что эти запросы на данный момент являются просто рекомендованными кандидатами, что означает, что они могут измениться или даже быть удалены в любое время. Помните об этом при работе с ними и решите, подходит ли это для вашего проекта. Это определенно на данный момент подходит для нас, и мы возлагаем большие надежды на эти спецификации. Тот факт, что все основные браузеры реализовали эти запросы (кроме, конечно, IE), заставляет нас еще более оптимистично смотреть в будущее.

«Так что же делать?»

С точки зрения разработчика, мы ищем решение, которое будет наиболее простым в использовании и обслуживании. С точки зрения UX, мы ищем решение, которое было бы наименее запутанным и наиболее подходящим для пользователя.

Это означает отсутствие эффектов наведения на чисто сенсорных устройствах, и использование их на всех остальных устройствах. Особый случай — это ноутбуки с сенсорными экранами, но мы можем ожидать, что мышь / тачпад используется большую часть времени. Даже если эффект наведения застревает, пользователь может легко использовать мышь / тачпад, чтобы проверить проблему и устранить ее. К счастью, ноутбуки со съемными сенсорными экранами переходят в режим планшета после отсоединения, что позволяет правильно обрабатывать медиа-запросом.

Вот тестовый сайт, с помощью которого вы можете протестировать свое собственное устройство, чтобы определить, какие из этих медиа-запросов применяются к нему, а также увидеть некоторые из наиболее популярных настроек устройств. Браузеры на Android имеют некоторые несоответствия, но другие устройства, кажется, работают нормально. Проверяя разные устройства, он показывает, что ноутбуки можно выбрать с помощью запроса @media(hover: hover) и (pointer: fine) {}.

@media(hover: hover) and (pointer: fine) {
nav a:hover {
background: yellow;
}
}

@media(hover: hover) and (pointer: fine) {

    nav a:hover {

        background: yellow;

    }

}

Я что-то пропустил? Что вы обычно используете в этих случаях? Я очень доволен этим решением, но дайте мне знать, если есть что-то лучше!

Автор: Mezo Istvan

Источник: //blog.usejournal.com

Редакция: Команда webformyself.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

PSD to HTML

Практика верстки сайта на CSS Grid с нуля

Смотреть

Hover-эффекты для круглых элементов с использованием CSS Transitions

В сегодняшнем уроке мы будем экспериментировать с hover-эффектами для круглых элементов. Поскольку сейчас у нас есть возможность использовать свойство border-radius, мы можем создавать круглые формы, и они все чаще появляются в качестве элементов дизайна на веб-сайтах. Один из вариантов использования, который мне более всего нравится, это круглые миниатюры, которые выглядят гораздо интереснее, чем обычные, прямоугольные. И сейчас мы собираемся создать несколько необычных эффектов при наведении на такие элементы!

Пожалуйста, обратите внимание: результат этого урока будет работать, как задумано, только в браузерах, которые поддерживают соответствующие свойства CSS.

В примерах кода в статье мы будем опускать префиксы браузеров, но вы, конечно, можете найти их в исходных файлах.

Итак, давайте начнем!

HTML

Для большинства примеров, мы будем использовать следующую структуру:

<ul>
    <li>
        <div>
            <div>
                <h4>Use what you have</h4>
                <p>by Angela Duncan <a href=»http://drbl. in/eOPF»>View on Dribbble</a></p>
            </div>
        </div>
    </li>
    <li>
        <div>
            <div>
                <h4>Common Causes of Stains</h4>
                <p>by Antonio F. Mondragon <a href=»http://drbl.in/eKMi»>View on Dribbble</a></p>
            </div>
        </div>
    </li>
    <li>
        <div>
            <div>
                <h4>Pink Lightning</h4>
                <p>by Charlie Wagers <a href=»http://drbl.in/ekhp»>View on Dribbble</a></p>
            </div>
        </div>
    </li>
</ul>

Хотя мы могли бы использовать изображения здесь, мы дадим себе немного больше свободы, и используем фоновые изображения вместо картинок. Мы определим их в классах, которые начинаются с «ch-img-«. Кроме того, у нас будут блоки с описанием отдельных элементов, и их названием.

Теперь, давайте создадим некоторые hover-эффекты!

CSS

Давайте определим общие стили для списка и элементов списка:

.ch-grid {
    margin: 20px 0 0 0;
    padding: 0;
    list-style: none;
    display: block;
    text-align: center;
    width: 100%;
}
 
.ch-grid:after,
.ch-item:before {
    content: »;
    display: table;
}
 
.ch-grid:after {
    clear: both;
}
 
.ch-grid li {
    width: 220px;
    height: 220px;
    display: inline-block;
    margin: 20px;
}

Мы можем отцентрировать элемент списка, используя display: inline-block и определив свойство text-align.

Хак clearfix от Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/

Некоторые из примеров будут иметь немного другую структуру, но мы рассмотрим это в каждом конкретном примере более подробно.

Пример 1

В первом примере будем масштабировать описание, увеличивая его до размеров элемента, и мы также будем анимировать внутреннюю тень самого элемента. Итак, давайте определим положение элемента, тень для него и переход:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    cursor: default;
    box-shadow:
        inset 0 0 0 16px rgba(255,255,255,0.6),
        0 1px 2px rgba(0,0,0,0.1);
    transition: all 0.4s ease-in-out;
}

Мы определим два класса для элемента: один — это ch-item, а другой будет использоваться для определения фонового изображения:

 

.ch-img-1 {
    background-image: url(../images/1.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/2.jpg);
}
 
.ch-img-3 {
    background-image: url(../images/3.jpg);
}

Описание элемента будет позиционироваться абсолютно, и мы зададим ему полупрозрачный фон, установив значение для RGBA. Его прозрачность будет равна 0, и мы будем уменьшать масштаб его также до 0:

.ch-info {
    position: absolute;
    background: rgba(63,147,147, 0.8);
    width: inherit;
    height: inherit;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s ease-in-out;
    transform: scale(0);
}

Заголовок элемента будет иметь некоторые отступы и сглаженные тени для текста:

.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 22px;
    margin: 0 30px;
    padding: 45px 0 0 0;
    height: 140px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}

Тег P имеет непрозрачность равную 0 и переход (мы хотим, чтобы он появлялся при наведении курсора мыши, но с задержкой):

.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0. 5);
    opacity: 0;
    transition: all 1s ease-in-out 0.4s;
}

Ссылка будет в верхнем регистре, и мы поменяем цвет при наведении на желтый:

.ch-info p a {
    display: block;
    color: rgba(255,255,255,0.7);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: rgba(255,242,34, 0.8);
}

А теперь, самое интересное, что будет происходить при наведении мыши!
Этот элемент будет анимирован, и его тень изменит радиус с 16px до 1px:

.ch-item:hover {
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.1),
        0 1px 2px rgba(0,0,0,0.1);
}

Описание будет плавно появляться и масштабироваться до 1:

.ch-item:hover .ch-info {
    transform: scale(1);
    opacity: 1;
}

Параграф будет просто появляться (с задержкой):

. ch-item:hover .ch-info p {
    opacity: 1;
}

С первым примером мы закончили! Давайте взглянем на следующий.

Пример 2

HTML структура в данном случае такая же, как и в первом примере.

Здесь мы будем использовать тень для элемента, чтобы заполнить наш круг и чтобы тень служила фоном для описания.
Итак, здесь нет ничего особенного, только тень имеет несколько строк значений:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    cursor: default;
    box-shadow:
        inset 0 0 0 0 rgba(200,95,66, 0.4),
        inset 0 0 0 16px rgba(255,255,255,0.6),
        0 1px 2px rgba(0,0,0,0.1);
    transition: all 0.4s ease-in-out;
}

Изображения для фона:

.ch-img-1 {
    background-image: url(../images/4.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/5.jpg);
}
 
.ch-img-3 {
    background-image: url(. ./images/6.jpg);
}

Описание будет опять же спрятано:

.ch-info {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s ease-in-out;
    transform: scale(0);
    backface-visibility: hidden;
}

Зададим стили для типографских элементов:

.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    position: relative;
    letter-spacing: 2px;
    font-size: 22px;
    margin: 0 30px;
    padding: 65px 0 0 0;
    height: 110px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}
 
.ch-info p a {
    display: block;
    color: rgba(255,255,255,0. 7);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: rgba(255,242,34, 0.8);
}

При наведении мы анимируем внутреннюю тень элемента (она будет у нас красноватая) до 110px в радиусе. Она покроет весь круг:

.ch-item:hover {
    box-shadow:
        inset 0 0 0 110px rgba(200,95,66, 0.4),
        inset 0 0 0 16px rgba(255,255,255,0.8),
        0 1px 2px rgba(0,0,0,0.1);
}

Мы увеличим описание, чтобы оно появилось:

.ch-item:hover .ch-info {
    opacity: 1;
    transform: scale(1);  
}

Пример 3

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

<li>
    <div>
        <div>
            <h4>Music poster</h4>
            <p>by Jonathan Quintin <a href=»http://drbl. in/eGjw»>View on Dribbble</a></p>
        </div>
        <div></div>
    </div>
</li>

Блок элемента будет иметь такие же стили, как и раньше (с тонкой тенью):

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    cursor: default;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

Для эскиза определим свойство transform-origin и переходы. Это будет элемент, который мы хотим, чтобы он поворачивался вниз при наведении курсора мыши, и при этом раскрывал описание элементов:

.ch-thumb {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    box-shadow: inset 0 0 0 15px rgba(255,255,255, 0.5);
    transform-origin: 95% 40%;
    transition: all 0.3s ease-in-out;
}

С помощью псевдо-класса :after мы создадим небольшую медную защелку с радиальным градиентом:

. ch-thumb:after {
    content: »;
    width: 8px;
    height: 8px;
    position: absolute;
    border-radius: 50%;
    top: 40%;
    left: 95%;
    margin: -4px 0 0 -4px;
    background: radial-gradient(ellipse at center, rgba(14,14,14,1) 0%,rgba(125,126,125,1) 100%);
    box-shadow: 0 0 1px rgba(255,255,255,0.9);
}

Давайте определим фоновые изображения для каждого элемента:

.ch-img-1 {
    background-image: url(../images/7.jpg);
    z-index: 12;
}
 
.ch-img-2 {
    background-image: url(../images/8.jpg);
    z-index: 11;
}
 
.ch-img-3 {
    background-image: url(../images/9.jpg);
    z-index: 10;
}

Описание элемента будет иметь следующие стили:

.ch-info {
    position: absolute;
    width: inherit;
    height: inherit;
    border-radius: 50%;
    overflow: hidden;
    background: #c9512e url(../images/noise.png);
    box-shadow: inset 0 0 0 5px rgba(0,0,0,0. 05);
}

Типографские элементы стилизованны следующим образом:

.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    position: relative;
    letter-spacing: 2px;
    font-size: 18px;
    margin: 0 60px;
    padding: 22px 0 0 0;
    height: 85px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}

Ссылка будет в виде маленького кружка, который должен двигаться вправо при наведении:

.ch-info p a {
    display: block;
    color: #333;
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.3);
    border-radius: 50%;
    color: #fff;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 24px;
    margin: 7px auto 0;
    font-family: ‘Open Sans’, Arial, sans-serif;
    opacity: 0;
    transition:
        transform 0. 3s ease-in-out 0.2s,
        opacity 0.3s ease-in-out 0.2s,
        background 0.2s linear 0s;
    transform: translateX(60px) rotate(90deg);
}
 
.ch-info p a:hover {
    background: rgba(255,255,255,0.5);
}

Так как мы хотим, чтобы движение и изменение прозрачности происходили с задержкой, но фон изменялся без неё, мы разделим переходы.

При наведении мы повернем эскиз и переместим/повернем ссылку:

.ch-item:hover .ch-thumb {
    box-shadow: inset 0 0 0 15px rgba(255,255,255, 0.5), 0 1px 3px rgba(0,0,0,0.2);
    transform: rotate(-110deg);
}
.ch-item:hover .ch-info p a{
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
}

Пример 4

Четвертый пример будет включать в себя элементы 3D. Таким образом, нам нужно немного изменить структуру, чтобы иметь контейнер для перспективы и лицевую и обратную сторону. Таким образом, элемент списка будет выглядеть следующим образом:

<li>
    <div>              
        <div>
            <div>
                <div></div>
                <div>
                    <h4>Bears Type</h4>
                    <p>by Josh Schott <a href=»http://drbl. in/ewUW»>View on Dribbble</a></p>
                </div>  
            </div>
        </div>
    </div>
</li>

Как вы можете видеть, мы добавили фоновое изображение для блока элемента, а также лицевой части переворачивающегося элемента.
Трюк заключается в том, чтобы задать такой же фон для ch-info-wrap, как и на остальной странице. Это создаст иллюзию, что наш элемент имеет отверстие.

Этот элемент будет иметь обычные стили:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    cursor: default;
}

Дополнительный блок будет использоваться для перспективы, и мы добавим ему переход для тени:

.ch-info-wrap{
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    perspective: 800px;
    transition: all 0.4s ease-in-out;
    top: 20px;
    left: 20px;
    background: #f9f9f9 url(. ./images/bg.jpg);
    box-shadow:
        0 0 0 20px rgba(255,255,255,0.2),
        inset 0 0 3px rgba(115,114, 23, 0.8);
 
}

Блок с классом ch-info будет иметь значение preserve-3d для transform-style, и мы зададим ему переход, так как этот элемент будет вращаться в 3D:

.ch-info{
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    transition: all 0.4s ease-in-out;
    transform-style: preserve-3d;
}

Лицевая и обратная стороны будут иметь следующие стили:

.ch-info > div {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-position: center center;
    backface-visibility: hidden;
}

Обратная сторона будет поворачиваться, так что мы не должны видеть ее изначально:

.ch-info .ch-info-back {
    transform: rotate3d(0,1,0,180deg);
    background: #000;
}

И снова, фоновые изображения:

. ch-img-1 {
    background-image: url(../images/10.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/11.jpg);
}
 
.ch-img-3 {
    background-image: url(../images/12.jpg);
}

… и типографские элементы:

.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    margin: 0 15px;
    padding: 40px 0 0 0;
    height: 90px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}
 
.ch-info p a {
    display: block;
    color: rgba(255,255,255,0.7);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: rgba(255,242,34, 0.8);
}

При наведении, мы будем изменять тени враппера и поворачивать так, чтобы мы видели обратную сторону:

.ch-item:hover .ch-info-wrap {
    box-shadow:
        0 0 0 0 rgba(255,255,255,0.8),
        inset 0 0 3px rgba(115,114, 23, 0.8);
}
 
.ch-item:hover .ch-info {
    transform: rotate3d(0,1,0,-180deg);
}

Пример 5

В этом примере мы хотим уменьшить внутреннюю часть эскиза до 0 и сделать, чтобы описание элементов появлялось и масштабировалось до 1.

Структура пятого примера будет такой же, как и в предыдущем примере.

Этот элемент имеет обычные стили:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    cursor: default;
}

Враппер и блок с описанием будут иметь следующие общие стили:

.ch-info-wrap,
.ch-info{
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
}

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

.ch-info-wrap {
    top: 20px;
    left: 20px;
    background: #f9f9f9 url(../images/bg.jpg);
    box-shadow:
        0 0 0 20px rgba(255,255,255,0.2),
        inset 0 0 3px rgba(115,114, 23, 0.8);
 
}

Общие стили для «переднего» и «заднего» блока:

.ch-info > div {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-position: center center;
}

«Передний» будет иметь переход (он будет уменьшаться и исчезать):

.ch-info .ch-info-front {
    transition: all 0.6s ease-in-out;
}

«Задний» блок, который содержит описание, будет иметь изначально прозрачность равную 0, а затем будет увеличиваться до 1.5:

.ch-info .ch-info-back {
    opacity: 0;
    background: #223e87;
    pointer-events: none;
    transform: scale(1.5);
    transition: all 0.4s ease-in-out 0.2s;
}

Фоновые изображения и типографские элементы будут иметь такие же стили как и в предыдущих примерах, только с несколькими разными цветами:

.ch-img-1 {
    background-image: url(../images/13.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/14.jpg);
}
 
.ch-img-3 {
    background-image: url(../images/15.jpg);
}
 
.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    margin: 0 15px;
    padding: 40px 0 0 0;
    height: 80px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px 0;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}
 
.ch-info p a {
    display: block;
    color: #e7615e;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: #fff;
}

При наведении мы уменьшим внутреннюю часть эскиза до 0 и установим непрозрачность равную 0 для «переднего» блока.

.ch-item:hover .ch-info-front {
    transform: scale(0);
    opacity: 0;
}

Та часть, которая содержит описание, будет изменена в размере и появится на экране.

.ch-item:hover .ch-info-back {
    transform: scale(1);
    opacity: 1;
    pointer-events: auto;
}

Пример 6

В этом примере мы хотим перевернуть внутреннюю часть миниатюры вниз, для того, чтобы показать описание. HTML-код будет таким же, как и в предыдущих двух примерах.

Элемент будет иметь такие же стили, как и раньше:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    cursor: default;
}

Общие стили для враппера и элемента с описанием:

.ch-info-wrap,
.ch-info{
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    transition: all 0.4s ease-in-out;
}

Оболочка будет иметь перспективу:

.ch-info-wrap {
    top: 20px;
    left: 20px;
    background: #f9f9f9 url(../images/bg.jpg);
    box-shadow:
        0 0 0 20px rgba(255,255,255,0.2),
        inset 0 0 3px rgba(115,114, 23, 0.8);
    perspective: 800px;
}

Элементу info установим следующие стили для трансформации:

.ch-info {
    transform-style: preserve-3d;
}

Передняя и задняя стороны будут иметь переход. Обратите внимание, что на этот раз мы не будем устанавливать backface-visibility: hidden, так как мы хотим показать обратную сторону внутренней части эскиза, когда она переворачивается вниз:

.ch-info > div {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-position: center center;
    transition: all 0.6s ease-in-out;
}

Давайте установим правильный transform-origin, так чтобы мы могли открыть его вниз:

.ch-info .ch-info-front {
    transform-origin: 50% 100%;
    z-index: 100;
    box-shadow:
        inset 2px 1px 4px rgba(0,0,0,0.1);
}

Мы установим RGBA значение с непрозрачностью равную 0 для фона элемента с описанием:

.ch-info .ch-info-back {
    background: rgba(230,132,107,0);
}

И обычные стили для других элементов:

.ch-img-1 {
    background-image: url(../images/16.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/17.jpg);
}
 
.ch-img-3 {
    background-image: url(../images/18.jpg);
}
 
.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    margin: 0 25px;
    padding: 40px 0 0 0;
    height: 90px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}
 
.ch-info p a {
    display: block;
    color: rgba(255,255,255,0.7);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: rgba(255,242,34, 0.8);
}

При наведении, мы будем вращать переднюю часть и немного анимировать тень.

.ch-item:hover .ch-info-front {
    transform: rotate3d(1,0,0,-180deg);
    box-shadow:
        inset 0 0 5px rgba(255,255,255,0.2),
        inset 0 0 3px rgba(0,0,0,0.3);
}
 
.ch-item:hover .ch-info-back {
    background: rgba(230,132,107,0.6);
}

Пример 7

Последний пример будет в виде вращающегося куба, где мы открываем описание, поворачивая его на бок. Так как мы будем вращать каждую из граней, нам не нужна дополнительная оболочка. Итак, наш HTML-код будет выглядеть следующим образом:

<li>
    <div>            
        <div>
            <div></div>
            <div>
                <h4>Mouse</h4>
                <p>by Alexander Shumihin <a href=»http://drbl.in/eAoj»>View on Dribbble</a></p>
            </div>  
        </div>
    </div>
</li>

Мы определим для элемента свойство perspective:

.ch-item {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    cursor: default;
    perspective: 900px;
}

Для элемента с классом ch-info понадобится preserve-3d:

.ch-info{
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

Лицевая и обратная сторона будут иметь переходы, transform-origin будет установлен как 50% 0%:

.ch-info > div {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-position: center center;
    transition: all 0.4s linear;
    transform-origin: 50% 0%;
}

Давайте создадим симпатичную тень для передней части:

.ch-info .ch-info-front {
    box-shadow: inset 0 0 0 16px rgba(0,0,0,0.3);
}

Противоположная сторона будет спрятана изначально:

.ch-info .ch-info-back {
    transform: translate3d(0,0,-220px) rotate3d(1,0,0,90deg);
    background: #000;
    opacity: 0;
}

Зададим обычные стили для фоновых изображений и текстовых элементов:

.ch-img-1 {
    background-image: url(../images/19.jpg);
}
 
.ch-img-2 {
    background-image: url(../images/20.jpg);
}
 
.ch-img-3 {
    background-image: url(../images/21.jpg);
}
 
.ch-info h4 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 24px;
    margin: 0 15px;
    padding: 60px 0 0 0;
    height: 110px;
    font-family: ‘Open Sans’, Arial, sans-serif;
    text-shadow:
        0 0 1px #fff,
        0 1px 2px rgba(0,0,0,0.3);
}
 
.ch-info p {
    color: #fff;
    padding: 10px 5px;
    font-style: italic;
    margin: 0 30px;
    font-size: 12px;
    border-top: 1px solid rgba(255,255,255,0.5);
}
 
.ch-info p a {
    display: block;
    color: rgba(255,255,255,0.7);
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1px;
    padding-top: 4px;
    font-family: ‘Open Sans’, Arial, sans-serif;
}
 
.ch-info p a:hover {
    color: rgba(255,242,34, 0.8);
}

Мы будем использовать translate3d, чтобы перемещать лицевую часть по оси Y нашего 3D пространства, и rotate3d, чтобы на самом деле повернуть её. Мы также постепенно её спрячем, чтобы какая-либо часть не была видна впоследствии:

.ch-item:hover .ch-info-front {
    transform: translate3d(0,280px,0) rotate3d(1,0,0,-90deg);
    opacity: 0;
}

Противоположная сторона будет поворачиваться «назад» до 0 градусов (первоначально она была повернута вниз):

.ch-item:hover .ch-info-back {
    transform: rotate3d(1,0,0,0deg);
    opacity: 1;
}

И вот и всё!

Надеюсь, вам понравилось, и эти эффекты будут вам полезны!

Демонстрация

Скачать исходные файлы

Перевод статьи с tympanus.net/codrops

Если у Вас возникли вопросы, то для скорейшего получения ответа рекомендуем воспользоваться нашим форумом

Селекторы псевдоклассов и псевдоэлементов в CSS (hover, first-child, first-line и другие), отношения между тегами Html кода

10 января 2021

  1. Отношения между тегами Html кода — дерево документа
  2. Селекторы псевдоклассов — hover, focus и first-child
  3. Селекторы псевдоэлементов — first-line (letter), after и before

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня мы продолжим тему изучения таблицы каскадных стилей и наполнять новыми материалами справочник.

Тема селекторов в CSS, которая была начата в предыдущей статье, осталась еще не завершенной, ибо мы рассмотрели только пять из семи возможных типов (тега и класса (class), Id, универсальный и атрибутов) и на очереди остались селекторы псевдоклассов и псевдоэлементов.

Отношения между тегами Html кода — дерево документа

Давайте начнем с псевдоклассов. Тут, правда, сначала нужно будет сделать отступление. Любой браузер, получая документ с любым языком разметки, тут же начинает его разбирать. Модуль, отвечающий в браузере за это дело, обычно называют парсер — он разбирает код, исправляет ошибки и формирует так называемое дерево.

Результат работы парсера любого браузера можно увидеть с помощью некоторых плагинов или расширений для этих обозревателей. Например, все тот же незаменимый плагин для Firefox под названием Firebug показывает это самое дерево документа:

Узлы этого дерева помечены плюсиками, нажав на которые можно будет увидеть вложенные элементы языка разметки Html. Построение этого дерева и есть результат работы парсера браузера. Давайте теперь посмотрим на принципы отношения между собой отдельных узлов.

Таких взаимоотношений может быть всего три вида (очень похоже на построение генеалогического дерева — отношение между родственниками):

  1. Предки и потомки. Например, для тега, показанного на приведенном выше примере, все остальные элементы являются потомками. Для них же всех он является прародителем — предком. Т.е. все, что находится внутри — это потомки. А предками будут являться все элементы, внутри которых данный элемент лежит.
  2. Родитель и ребенок — в цепочке предки-потомки всегда есть два ближайших звена, которые будут отвечать понятиям родитель и ребенок. Т.е. у любого Html элемента есть один родитель (ближайший предок) и в то же время у него могут быть или не быть один или же несколько детей.
  3. Сестринские (братские) отношения — к ним относятся элементы, у которых один общий родитель.

Само по себе название «псевдоклассы» обозначает то, что специально в коде ни у каких элементов (тегов) такие классы (значения для атрибута Class) никто не прописывал, но у этих самых элементов периодически могут возникать определенные динамические состояния, для которых и были придуманы селекторы псевдоклассов.

Селекторы псевдоклассов — hover, focus, first-child и другие

Например, селекторы Link и Visited во всех браузерах могут использоваться только для оформления гиперссылок:

Link подразумевает под собой не посещенную ссылку (по которой пользователь еще не переходил), а Visited — посещенную. Таким образом вы можете настроить, например, изменение цвета для уже посещенных пользователем ссылок, ну или еще что-то другое (задать визуальное состояние для всех посещенных гиперссылок). Естественно, что посещенные будут учитываться именно для данного конкретного браузера и до момента очистки его истории.

Синтаксис написания селекторов псевдоклассов заключается в проставлении двоеточия после названия Html элемента, для которого вы его используете (a:visited).

a:visited {color:red;}

Следующие три селектора (active, hover и focus) могут использоваться для любых тегов:

Active соответствует клику левой кнопки мыши по тому элементу в Html коде, название которого вы прописали перед этим псевдоклассом в селекторе (в нашем примере это тег гиперссылки A). Как только левую клавишу пользователь отожмет — псевдокласс active исчезнет.

p:active {color:red}

В этом случае, при наведении курсора мыши на любой абзац текста и щелчке по левой кнопке мыши, мы увидим, что цвет этого параграфа изменится на красный. После отжатия кнопки цвет абзаца опять вернется к принятому по умолчанию. Т.е. данный псевдокласс active динамичен и будет работать абсолютно для любых тэгов (например, для контейнеров Div и т.п.). При клике на этом элементе он может изменить свое визуальное оформление в соответствии с нашими пожеланиями.

Hover — позволяет изменять визуальное оформление любого элемента в Html коде при наведении на него курсора мыши. При отведении курсора визуальное оформление элемента вернется к используемому по умолчанию.

p:hover {color:red}

Псевдокласс focus — позволяет изменять визуальное оформление тегов находящимся сейчас в фокусе. Как известно, фокус на веб странице можно переносить с помощью нажатия на клавишу Tab на клавиатуре. Причем, фокус может передаваться только между следующими элементам: ссылки и элементы форм в Html.

Псевдоклассы active и hover в браузере IE 6 работают только для элементов гиперссылок, а focus не работает вообще ни в IE 6, ни в IE 7.

Последний псевдокласс называется first-child (первый ребенок, в переводе).

:first-child {color:red}

Эта запись будет означать, что все элементы исходного кода страницы, которые являются первыми детьми своих родителей, будут покрашены в красный цвет.

First-child в IE 6 не работает, что печально.

Селекторы псевдоэлементов — first-line (letter), after и before

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

По самому слову «псевдоэлементы» понятно, что таких тегов в Html коде нет. На данный момент псевдоэлементов всего четыре и они приведены на расположенном чуть выше рисунке. Наверное, понятно по самому названию, что first-line будет указывать на первую линию, а first-letter — на первую букву.

Причем, оба этих псевдоэлемента применяются только к блочным тегам (заголовки, параграфы, контейнеры и т.п.) и как это ни печально, но в браузере IE 6 они тоже не работают.

p:first-line {color:red}

Что это даст? Во всех параграфах на веб странице первые строки текста окрасятся в красный цвет. Для простоты подключим CSS к языку Html с помощью тега style и пропишем соответствующее свойство с использованием псевдоэлемента first-line в селекторе параграфа:

Тогда, как мы и планировали, все первые строки в абзацах окрасятся в красный цвет:

Ну, а с помощью first-letter можно сделать, например, так называемую буквицу (когда первая буква в абзаце отличается большим размером и цветом). Для этого можно будет прописать следующие CSS плавила для данного селектора псевдоэлемента:

p:first-letter {font-size:5em; float:left; color:red}

Про Em, Ex, пиксели и другие размерности в CSS мы с вами уже говорили. Исходный код с добавленными свойствами тогда будет выглядеть так:

А сама вебстраница с буквицей, созданной с помощью селектора first-letter, будет выглядеть так:

Два оставшихся псевдоэлемента after и before нужны для формирования контента на лету. Давайте посмотрим на примере:

p:after {
content: " KtoNaNovenkogo.ru";
color:red;
}

В результате, в конце каждого абзаца на вебстранице автоматически добавится тот фрагмент, который мы указали в CSS свойстве «content» (оно используется только для псевдоэлементов after и before) и этот фрагмент будет окрашен в красный цвет:

Если бы мы вместо «after» использовали бы «before», то дополнительный контент был бы добавлен внутри каждого абзаца на странице, но уже перед его содержимым. Напрашивается вопрос — а для чего это можно использовать на практике?

Оказывается, с помощью этих псевдоэлементов можно, например, создать сложную нумерацию вида «5.2.13». Обычными средствами Html этого сделать нельзя, а с использованием before — можно.

Для того, чтобы получить такой сложно нумерованный список, используется довольно простой Html код:

Но при этом имеет место быть сложный код CSS стилей с использованием, естественно, псевдоэлементов after и before:

Все очень здорово, но, к сожалению, after и before не поддерживаются в браузерах IE 6 и IE 7. Увы и ах. В следующей статье мы поговорим про комбинации CSS селекторов и их приоритетность.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

CSS3-переходы (свойство transition)

CSS3-переходы позволяют анимировать исходное значение CSS-свойства на новое значение с течением времени, управляя скоростью смены значений свойств. Большинство свойств меняют свои значения за 16 миллисекунд, поэтому рекомендуемое время стандартного перехода — 200ms.

Смена свойств происходит при наступлении определенного события, которое описывается соответствующим псевдоклассом. Чаще всего используется псевдокласс :hover. Данный псевдокласс не работает на мобильных устройствах, таких как iPhone или Android. Универсальным решением, работающим в настольных и мобильных браузерах, будет обработка событий с помощью JavaScript (например, переключение классов при клике).

Переходы применяются ко всем элементам, а также к псевдоэлементам :before и :after. Для задания всех свойств перехода обычно используют краткую запись свойства transition.

CSS3-переходы могут применяться не ко всем свойствам и их значениям. Подробный перечень вы найдёте на этой странице.

Создание плавных изменений свойств элементов

Поддержка браузерами

IE: 10.0
Firefox: 16.0, 4.0 -moz-
Chrome: 26.0, 4.0 -webkit-
Safari: 6.1, 3.1 -webkit-
Opera: 12.1, 11.6 -o-
iOS Safari: 7.1
Opera Mini:
Android Browser: 4.4, 4.1 -webkit-
Chrome for Android: 44

1. Название свойства transition-property

Содержит название CSS-свойств, к которым будет применен эффект перехода. Значение свойства может содержать как одно свойство, так и список свойств через запятую. При создании перехода можно использовать как начальное, так и конечное состояние элемента. Свойство не наследуется.

Создаваемые эффекты должны быть ненавязчивыми. Не все свойства требуют плавного изменения во времени, что связано с пользовательским опытом. Например, при наведении на ссылку мы хотим видеть мгновенную смену цвета ссылки или цвета и стиля подчёркивания. Поэтому переходы следует использовать для тех свойств, к которым действительно нужно привлечь внимание.

transition-property
Значения:
none Отсутствие свойства для перехода.
all Значение по умолчанию. Применяет эффект перехода ко всем свойствам элемента.
свойство Определяет список CSS-свойств, перечисленных через запятую, участвующих в переходе.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Синтаксис

div {
width: 100px;
transition-property: width;
}
div:hover {
width: 300px;
}

2. Продолжительность перехода transition-duration

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

transition-duration
Значения:
время Время перехода указывается в секундах или миллисекундах, например, 2s или 5ms.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Синтаксис

div {
transition-duration: .2s;
}

See the Pen LRpLbk by Elena (@html5book) on CodePen.

3. Функция перехода transition-timing-function

Свойство задаёт временную функцию, которая описывает скорость перехода объекта от одного значения к другому. Если вы определяете более одного перехода для элемент, например, цвет фона элемента и его положение, вы можете использовать разные функции для каждого свойства. Свойство не наследуется.

transition-timing-function
Значения:
ease Функция по умолчанию, переход начинается медленно, разгоняется быстро и замедляется в конце. Соответствует cubic-bezier(0.25,0.1,0.25,1).
linear Переход происходит равномерно на протяжении всего времени, без колебаний в скорости. Соответствует cubic-bezier(0,0,1,1).
ease-in Переход начинается медленно, а затем плавно ускоряется в конце. Соответствует cubic-bezier(0.42,0,1,1).
ease-out Переход начинается быстро и плавно замедляется в конце. Соответствует cubic-bezier(0,0,0.58,1).
ease-in-out Переход медленно начинается и медленно заканчивается. Соответствует cubic-bezier(0.42,0,0.58,1).
cubic-bezier(x1, y1, x2, y2) Позволяет вручную установить значения от 0 до 1 для кривой ускорения. На этом сайте вы сможете построить любую траекторию перехода.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Синтаксис

div {
transition-timing-function: linear;
}

See the Pen CSS Timing Function by Elena Nazarova (@nazarelen) on CodePen.

Для создания более реалистичных анимаций используйте функцию cubic Bézier:

Рис. 1. Пользовательские функции cubic Bézier с сайта easings.net

Пользовательское название Значение функции
easeInSine cubic-bezier(0.47, 0, 0.745, 0.715)
easeOutSine cubic-bezier(0.39, 0.575, 0.565, 1)
easeInOutSine cubic-bezier(0.445, 0.05, 0.55, 0.95)
easeInQuad cubic-bezier(0.55, 0.085, 0.68, 0.53)
easeOutQuad cubic-bezier(0.25, 0.46, 0.45, 0.94)
easeInOutQuad cubic-bezier(0.455, 0.03, 0.515, 0.955)
easeInCubic cubic-bezier(0.55, 0.055, 0.675, 0.19)
easeOutCubic cubic-bezier(0.215, 0.61, 0.355, 1)
easeInOutCubic cubic-bezier(0.645, 0.045, 0.355, 1)
easeInQuart cubic-bezier(0.895, 0.03, 0.685, 0.22)
easeOutQuart cubic-bezier(0.165, 0.84, 0.44, 1)
easeInOutQuart cubic-bezier(0.77, 0, 0.175, 1)
easeInQuint cubic-bezier(0.755, 0.05, 0.855, 0.06)
easeOutQuint cubic-bezier(0.23, 1, 0.32, 1)
easeInOutQuint cubic-bezier(0.86, 0, 0.07, 1)
easeInExpo cubic-bezier(0.95, 0.05, 0.795, 0.035)
easeOutExpo cubic-bezier(0.19, 1, 0.22, 1)
easeInOutExpo cubic-bezier(1, 0, 0, 1)
easeInCirc cubic-bezier(0.6, 0.04, 0.98, 0.335)
easeOutCirc cubic-bezier(0.075, 0.82, 0.165, 1)
easeInOutCirc cubic-bezier(0.785, 0.135, 0.15, 0.86)
easeInBack cubic-bezier(0.6, -0.28, 0.735, 0.045)
easeOutBack cubic-bezier(0.175, 0.885, 0.32, 1.275)
easeInOutBack cubic-bezier(0.68, -0.55, 0.265, 1.55)

4. Задержка перехода transition-delay

Необязательное свойство, позволяет сделать так, чтобы изменение свойства происходило не моментально, а с некоторой задержкой. Не наследуется.

transition-delay
Значения:
время Время задержки перехода указывается в секундах или миллисекундах.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Синтаксис

div {
transition-delay: .5s;
}

See the Pen wzKZoj by Elena (@html5book) on CodePen.

5. Краткая запись перехода

Все свойства, отвечающие за изменение внешнего вида элемента, можно объединить в одно свойство transition
transition: transition-property transition-duration transition-timing-function transition-delay;

Если воспользоваться значениями по умолчанию, то запись

div {transition: 1s;}

будет эквивалентна

div {transition: all 1s ease 0s;}

6. Плавный переход нескольких свойств

Для элемента можно задать несколько последовательных переходов, перечислив их через запятую. Каждый переход можно оформить своей временной функцией.

div {transition: background 0.3s ease, color 0.2s linear;}

или

div {
transition-property: height, width, background-color;
transition-duration: 3s;
transition-timing-function: ease-in, ease, linear;
}

7. Примеры переходов для различных свойств

Наведите курсором мыши на блоки, чтобы увидеть свойства в действии.

See the Pen gbLXYK by HeleN (@nazarelen) on CodePen.

Всегда используйте :hover вместе с :focus | HTML и CSS

Всегда используйте :hover вместе с :focus

Мне очень понравилась Пашина статья о псевдоклассах. =) Специально по такому случаю в закромах была недавняя заметка с 456bereastreet.

В ней рассказывается о том, что может повлечь за собой игнорирование псевдокласса :focus.

Мы рассмотрим типы проблем и в итоге узнаем что делать, чтобы избежать их.

  

Реализация правил для псевдокласса :hover без реализации :focus является наиболее частым недосмотром при проектировании стиля сайта. Серьезность проблем при таком недосмотре зависит от того, как вы определили поведение для состояния :hover.

Рассмотрим их в порядке возрастания серьезности.

1. Неряшливость

Если для :hover заданы простые правила, например, только изменение цвета текста, пренебрежение :focus не влечет за собой серьезных проблем. В этом случае при смене фокуса с помощью клавиатуры актуальный элемент просто никак не выделится.

2. Серьезные проблемы использования

Гораздо больше проблем вы получите, если зададите свойство outline равным 0 или значению none. Эта проблема сейчас набирает актуальность, т.к. сведение на нет эффекта outline довольно популярно.

В этом случае ссылки технически доступны, но это никак не подтверждено визуально. Разве что некоторые браузеры отображают в статусной строке текущее значение href сфокусированной ссылки.

3. Полная недосягаемость

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

Фокус на :focus (и :active)

Все перечисленные проблемы решаются довольно просто: там же, где вы определяете правила для :hover, укажите и :focus. Для того, чтобы Internet Explorer версий 7 и ранее распознал правила, надо дописать псевдокласс :active.

Пара слов о порядке перечисления псевдоклассов объявлении

Этот параграф — отдельная заметка. Все желающие могут ознакомиться с оригиналом статьи.

Для многих известно, что порядок объявления псевдоклассов правиле CSS имеет значение. На 456bereastreet предпочитают следующий порядок:

:link, :visited, :hover, :focus, :active

Этот порядок основан на нескольких статьях Эрика Мейера. Одна из них содержит довольно забавные мнемоники, я привожу их ниже на языке оригинала:

  • LoVe’s Hurts Fade Away;
  • Luther Vandross Hits Fabulous Arpeggios;
  • Lord Vader Hates Furry Animals;
  • Lusty Vampires Hunger For Absinthe;
  • Lord Voldemort Has Foul Ambitions.

Небольшое лирическое

Если кто-то думает: «Э… а как же модульные сетки, все дела, Марк Болтон и все такое». Сетки — будут позже. Болтон… при всем к нему уважении, такое огромное количество воды мне попросту надоело переводить. Будет время, переведу. Прошу прощения за то, что не довел до конца. Но там уже какая-то художественная литература, так что сюда ее выкладывать нет никакого смысла. В ближайшем рассмотрении весь этот цикл был всего лишь рекламой его книги с одноименным названием. К сожалению, это западный мир. Бесплатно дают только стакан воды.

Как написать: hover во встроенном CSS?

Как написать: hover во встроенном CSS?

Он называется псевдоселектором и используется для выбора всех элементов, когда пользователь наводит указатель мыши на элементы. Его можно использовать на всех элементах. В документе должен быть объявлен элемент , чтобы увидеть работу этого селектора во всех элементах.

Пример 1:

< html >

< головка > 9002

< html title > a: наведите указатель мыши на встроенный CSS title >

< style >

h2 {

цвет: зеленый ;

}

тело {

выравнивание текста: по центру;

}

a {

текстовое оформление: отсутствует;

цвет: зеленый;

}

стиль >

головка >

< корпус > 9000

< h2 > GeeksforGeeks h2 >

< h3 > a: наведение в строке CSS h3 >

< a href = "#" onMouseOver = "this.style.color = 'red' "

onMouseOut = " this.style.color = 'green' " > GeeksforGeeks a >

< / body >

html >

Вывод:

Пример 2: В этом примере используется JavaScript для отображения содержимого a: hover в CSS .Атрибут события onmouseover и onmouseout вызывается для отображения содержимого a: hover.

< html >

< голова >

> заголовок : hover inline CSS title >

< style >

h2 {

цвет: зеленый;

}

тело {

выравнивание текста: по центру;

}

a {

текстовое оформление: отсутствует;

цвет: зеленый;

}

стиль >

< скрипт >

функция наведения мыши () {

63

документ.getElementById ("gfg"). style.color = "красный";

}

функция mouseout () {

document.getElementById ("gfg"). Style.color = "green";

}

скрипт >

головка >

< корпус > 9000

< h2 > GeeksforGeeks h2 >

< h3 > a: наведение в строке CSS h3 >

< a href = "#" id = "gfg" onmouseover = "mouseover ()"

onmouseout = "mouseout ()" > GeeksforGeeks a >

9 0016 body >

html >

Вывод:

Поддерживаемые браузеры: Селектор поддерживает браузер: перечисленные ниже:

  • Apple Safari 3.1
  • Google Chrome 4.0
  • Firefox 2.0
  • Opera 9.6
  • Internet Explorer 7.0

68 CSS Hover Effects

Коллекция отобранных вручную бесплатных HTML и CSS эффектов наведения примеров кода: анимации, переходы, и т. д. . Обновление коллекции за февраль 2020 года. 18 новинок.

  1. CSS Примеры эффектов наведения
  2. CSS-библиотеки эффектов наведения
  1. jQuery Hover Effects
  2. Bootstrap Hover Effects

HTML и CSS эффект наведения примеров кода.

Автор
  • Амит Шин
О коде

Отображение положения мыши в CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Ана Тудор
О коде

Парящие лучи с маскировкой и магией Houdini

Совместимые браузеры: Chrome, Edge, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Микаэль Айналем
О коде

О нас Эффект всплывающего окна

Использование clip-path: path (...) для создания эффекта всплывающего окна.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Ана Тудор
О коде

Кроссбраузерность без эффекта дублирования изображения с реальным

img Elments

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Гиоргос
О коде

Незаметный крест при наведении курсора на углы предмета сетки

На основе эффекта Windows 10 Fluent Design в приложении «Калькулятор», где при наведении курсора на элемент отображается тонкий крестик в углу, ближайшем к курсору.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Сом Шекхар Мукерджи
О коде

Подчеркивание-Анимация

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Адам Аргайл
О коде

CSS Эффект перехода при выводе мыши

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Брайан Бэйл
О коде

Узор + фоновый комбо

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Райан Маллиган
О коде

Supa Dupa Fly Ховер

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Такане Ичиносе
О коде

Кнопка с эффектом голограммы только для CSS, значок 3D

Это кнопка без Javascript; при наведении указателя мыши на кнопку появится значок 3D, похожий на эффект голограммы.Кнопку можно повернуть, наведя указатель мыши на кнопку.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Сикрити Дакуа
О коде

Взаимодействие с информацией о наведении карты

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • дугласмофет
О коде

Наведение псевдоэлемента карты

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

О коде

Слепок CSS: стилизация братьев и сестер при наведении курсора

Используйте CSS-селектор : not для стилизации братьев и сестер при наведении курсора.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Ховард Бриньюлфсен
О коде

Fancy Slide-in Hover, только CSS

Эффект плавного наведения с использованием некоторого позиционирования и псевдокласса. Работает с любым размером.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Айсенур Тюрк
О коде

Приведи друзей Анимация наведения

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Мартин Уитакер
О коде

Искусство бессмысленно

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Сара Фоссхайм
О коде

Анимация аккордеона с накоплением радуги

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Паулина Гетьман
О коде

Эффект наведения с учетом направления только для CSS

Поставляется с Sass @mixin , так что вы можете быстро изменять количество столбцов и элементов.Также вы можете изменить размер окна. Он продолжает работать при изменении сетки.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Влад Ракоар
О коде

Анимация при наведении курсора клипа

Анимация наведения курсора clip-path , полностью доступная с клавиатуры.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: font-awesome.css

Автор
  • Джесси Коуч
О коде

Развлечения с: hover

Просто поиграйте с некоторыми интересными вещами, которые вы можете сделать с помощью CSS : наведите курсор на при стилизации тех же элементов HTML (и их братьев и сестер).

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

Многокнопочная кнопка для наведения плитки

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

Соединения CSS Hover FX

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

CSS Hover FX

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Мелисса Эм
О коде

Гладкий и острый

Преобразование эффекта наведения краев на чистом CSS.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Энди Бэрфут
О коде

Тесселяции Электронная торговля

Тесселяция элементов сетки электронной коммерции с эффектами наведения.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Крис Койер
О коде

Анимации в шахматном порядке

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

Чистый CSS Box Hover с фоновым эффектом

При наведении курсора на цитаты фон будет меняться, на котором вы наводите курсор.Лучше всего просматривать на экране планшета или компьютера. Полная отзывчивость все еще желательна.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Дронка Рауль
Сделано с
  • HTML / CSS (SCSS) / JavaScript (Babel)
О коде

Кинетическая магнитная точка

Кинетическая магнитная точка с небольшим количеством JavaScript.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

О коде

Эффект наведения для ящиков

Эффект наведения на блоки в HTML и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: font-awesome.css

Автор
  • Брэдли Будач
О коде

Эффект парения круга

Эффект наведения кружка на чистом CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • ВикторКоролюк
О коде

Эффект наведения круговой ряби на кнопку

Наведите указатель мыши на каждую из кнопок, чтобы увидеть эффект в действии.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Сиддхартх Хубли
О коде

Наведите указатель мыши на информацию о продукте

Используемые свойства CSS: filter: drop-shadow () , clip-path: polygon () , CSS Grid.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Фитри Али
О коде

Эффект наведения, как Super Team Deluxe

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Жуан Марсель
О коде

Футуристический эффект наведения 3D

Используется как навигация, меню или эффект.Он использует CSS , преобразование и перспективу для создания уникального эффекта анимации, подобного гололенсам. Может быть использован для многих других случаев использования, у вас, вероятно, будут свои собственные идеи. Это экспериментальная идея, вы можете усовершенствовать ее для использования в продакшене.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

О коде

Показывать содержимое карты при наведении курсора

Эффект наведения чистой карточки в HTML и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: material-icons.css

Автор
  • Тобиас Глаус
О коде

Позвольте мне увидеть, что у вас есть!

Эффект наведения для бокса с медиа-контентом в HTML и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

Коробка с эффектом Magic Zoom

Коробка с анимированным волшебным эффектом масштабирования на чистом CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

О коде

Анимированный блок с эффектами наведения

Анимированный бокс с эффектами наведения в HTML и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Лукаш Вернер
О коде

Анимация углов коробки

Анимация углов прямоугольника при наведении курсора на чистый CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Дэвид Лейнингер
О коде

Эффект наведения: всплывающее окно и анимация фона

Эффект наведения на товар. Изображение выскакивает вверх и вниз, а затем выдвигается фон и оживляется.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Автор
  • Джордж У. Парк
Сделано с
  • HTML
  • CSS
  • JavaScript / Babel
О коде

Эффект прожектора с радиальным градиентом

Это перо показывает, как радиальные градиенты CSS можно использовать для создания эффекта фокусируемого прожектора.

Автор
  • Инь Ин Сзето
О коде

Иконки парят

Симпатичные эффекты наведения для иконок.

О коде

Эффект сбоя при наведении

Узнайте, как создать эффект сбоя с помощью CSS clip-path без JS.

Совместимые браузеры: Chrome, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Автор
  • Квентин Верон
Сделано с
  • HTML / Мопс
  • CSS / SCSS
  • JavaScript
О коде

Адаптивный 16/9 Thumbnail & Shine Hover Effect

Этот эскиз поддерживает соотношение сторон 16/9 при любом размере.Есть эффект сияющего наведения и небольшая анимация при запуске видео. Эффект сияния с использованием переменных CSS, вдохновленных Раулем Дронка.

Автор
  • Кэссиди Уильямс
О коде

Анимация наведения

Один div анимация наведения.

Демонстрационный GIF: Эффект приведения в действие

Эффект при наведении

Привлекайте эффект наведения с помощью HTML, CSS и JavaScript.
Сделано Луи Хёбрегсом
6 июля 2017 г.

Демонстрационное изображение: Эффект наведения перспективы на чистом CSS

Эффект наведения перспективы на чистом CSS

Список блоков с эффектом перспективы.
Сделано Максимом Лафари
6 июля 2017 г.

Демонстрационное изображение: Эффект наведения на изображение

Эффект наведения на изображение

Изображение с эффектом отражения и близости при наведении.
Сделано Тьяго Александр Лопес
2 июня 2017 г.

Демонстрационное изображение: Эффекты наведения для сложенных карт

Эффекты наведения для сложенных карт

Просто поиграйте с дополнительными CSS-переходами и эффектами наведения.
Сделано Кайл Брамм
17 мая 2017 г.

Автор
  • Патент Русь
О коде

Размытие при наведении на чистый CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

отзывчивый: да

Зависимости: -

Демонстрационное изображение: CSS 3D Hover

CSS 3D Hover

Чистый 3D-эффект наведения CSS для карточек.
Сделано Ахил Сай Рам
24 декабря 2016 г.

Автор
  • Бастиан Андре
О коде

Поднятые бумажные полоски

Поднятые бумажные полоски (эффект наведения).

Демо-изображение: 10 стильных эффектов наведения с LESS

10 стильных эффектов наведения с LESS

Небольшая коллекция стильных эффектов с LESS.
Сделано Ренаном К. Араужо
13 октября 2016 г.

Демонстрационное изображение: 10 потрясающих эффектов при наведении на SCSS

10 потрясающих эффектов при наведении на SCSS

Небольшая коллекция стильных эффектов с SCSS.
Сделано Ренаном К. Араужо
13 октября 2016 г.

Демонстрационное изображение: Визуализация трехмерной перспективы на чистом CSS с : наведение Анимация

Визуализация трехмерной перспективы на чистом CSS с

: наведение Анимация

Совет: чтобы сохранить этот трехмерный вид, вы должны знать детали, длина слова должна быть пропорциональна номеру свойства перспективы тела.Если длина этого слова увеличивается, вы должны увеличить перспективу 🙂
Сделано Рафаэлем Гонсалесом
16 сентября 2016 г.

О коде

CSS Only Fade Siblings On Hover

Убрать всех братьев и сестер при наведении курсора на элемент, используя только CSS.

Автор
  • Джереми Буле
О коде

Эффект наведения для Discover A Project Link

Эффект наведения, например, для обнаружения названия проекта в портфолио.

Демо-изображение: Hover Squares

Hover Squares

HTML и CSS квадратов наведения.
Сделано Рудольфом ван дер Веном
8 декабря 2015 г.

Автор
  • Никола Пресс
О коде

Эффект наведения

Анимационный эффект наведения.

Автор
  • Николай Таланов
О коде

Концепция вопросника на чистом CSS

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Адаптивный: нет

Зависимости: -

Демонстрационный GIF: 3D-эффект наведения с указанием направления

3D-эффект наведения с указанием направления

CSS и биты JS.
Сделано Ноэлем Дельгадо
30 октября 2014 г.

Демонстрационный GIF: CSS3 Hover Effects

CSS3 Hover Effects

На основе tympanus.net, демонстрации большинства эффектов наведения курсора CSS3.
Сделано honglio
21 ноября 2013 г.

Демонстрация GIF: Анимация наведения

Анимация наведения

Использует jQuery для добавления / удаления классов и запуска анимации только при наведении курсора мыши.
Сделано Мэттом Болдтом
8 июля 2013 г.

Библиотеки эффектов зависания

HTML и CSS (5 элементов).

Демо-изображение: Hover.css

Hover.css

Коллекция CSS3-эффектов наведения, применяемых к ссылкам, кнопкам, логотипам, SVG, избранным изображениям и т. Д. Легко применяйте к своим собственным элементам, изменяйте или просто используйте для вдохновения. Доступен в CSS, Sass и LESS.
Сделано Яном Ланном

Демонстрационное изображение: iHover.css

iHover.css

iHover - это коллекция эффектов наведения с использованием чистого CSS, вдохновленная статьей codrops, созданной на Sass.
Сделано gudh

Демонстрационное изображение: Эффекты наведения на изображение

Эффекты наведения на изображение

Эффекты наведения изображения, которые работают с Bootstrap или без него.
Сделано Майклом

Демо-изображение: Mocassin.css

Mocassin.css

Mocassin.css - это адаптивный набор эффектов наведения для подписей, созданный на основе Sass. Каждая подпись адаптируется к размеру изображения.
Сделано Элиэзером Пуйольсом

Демо-изображение: HoverEffects.css

HoverEffects.css

Несколько эффектов наведения для навигации (CSS3).
Сделано Кевином Яннисом

Hover, Focus и другие состояния

 
module.exports = {
  
  варианты: {
    доступность: ['отзывчивый', 'фокус внутри', 'фокус'],
    alignContent: ['отзывчивый'],
    alignItems: ['отзывчивый'],
    alignSelf: ['отзывчивый'],
    анимация: ['отзывчивый'],
    внешний вид: ['отзывчивый'],
    backdropBlur: ['отзывчивый'],
    backdropBrightness: ['отзывчивый'],
    backdropContrast: ['отзывчивый'],
    backdropDropShadow: ['отзывчивый'],
    backdropFilter: ['отзывчивый'],
    backdropGrayscale: ['отзывчивый'],
    backdropHueRotate: ['отзывчивый'],
    backdropInvert: ['отзывчивый'],
    backdropSaturate: ['отзывчивый'],
    backdropSepia: ['отзывчивый'],
    backgroundAttachment: ['отзывчивый'],
    backgroundBlendMode: ['отзывчивый'],
    backgroundClip: ['отзывчивый'],
    backgroundColor: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    backgroundImage: ['отзывчивый'],
    backgroundOpacity: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    backgroundPosition: ['отзывчивый'],
    backgroundRepeat: ['отзывчивый'],
    backgroundSize: ['отзывчивый'],
    размытие: ['отзывчивый'],
    borderCollapse: ['отзывчивый'],
    borderColor: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    borderOpacity: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    borderRadius: ['отзывчивый'],
    borderStyle: ['отзывчивый'],
    borderWidth: ['отзывчивый'],
    boxDecorationBreak: ['отзывчивый'],
    boxShadow: ['отзывчивый', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    boxSizing: ['отзывчивый'],
    яркость: ['отзывчивый'],
    ясно: ['отзывчивый'],
    контейнер: ['отзывчивый'],
    контраст: ['отзывчивый'],
    курсор: ['отзывчивый'],
    дисплей: ['отзывчивый'],
    DivineColor: ['отзывчивый', 'темный'],
    DivideOpacity: ['отзывчивый', 'темный'],
    DivineStyle: ['отзывчивый'],
    DivideWidth: ['отзывчивый'],
    dropShadow: ['отзывчивый'],
    fill: ['отзывчивый'],
    фильтр: ['отзывчивый'],
    flex: ['отзывчивый'],
    flexDirection: ['отзывчивый'],
    flexGrow: ['отзывчивый'],
    flexShrink: ['отзывчивый'],
    flexWrap: ['отзывчивый'],
    float: ['отзывчивый'],
    fontFamily: ['отзывчивый'],
    fontSize: ['отзывчивый'],
    fontSmoothing: ['отзывчивый'],
    fontStyle: ['отзывчивый'],
    fontVariantNumeric: ['отзывчивый'],
    fontWeight: ['отзывчивый'],
    пробел: ['отзывчивый'],
    gradientColorStops: ['отзывчивый', 'темный', 'наведение', 'фокус'],
    оттенки серого: ['отзывчивый'],
    gridAutoColumns: ['отзывчивый'],
    gridAutoFlow: ['отзывчивый'],
    gridAutoRows: ['отзывчивый'],
    gridColumn: ['отзывчивый'],
    gridColumnEnd: ['отзывчивый'],
    gridColumnStart: ['отзывчивый'],
    gridRow: ['отзывчивый'],
    gridRowEnd: ['отзывчивый'],
    gridRowStart: ['отзывчивый'],
    gridTemplateColumns: ['отзывчивый'],
    gridTemplateRows: ['отзывчивый'],
    высота: ['отзывчивый'],
    hueRotate: ['отзывчивый'],
    вставка: ['отзывчивый'],
    инвертировать: ['отзывчивый'],
    изоляция: ['отзывчивый'],
    justifyContent: ['отзывчивый'],
    justifyItems: ['отзывчивый'],
    justifySelf: ['отзывчивый'],
    letterSpacing: ['отзывчивый'],
    lineHeight: ['отзывчивый'],
    listStylePosition: ['отзывчивый'],
    listStyleType: ['отзывчивый'],
    маржа: ['отзывчивый'],
    maxHeight: ['отзывчивый'],
    maxWidth: ['отзывчивый'],
    minHeight: ['отзывчивый'],
    minWidth: ['отзывчивый'],
    mixBlendMode: ['отзывчивый'],
    objectFit: ['отзывчивый'],
    objectPosition: ['отзывчивый'],
    непрозрачность: ['отзывчивый', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    заказ: ['отзывчивый'],
    наброски: ['отзывчивый', 'фокус внутри', 'фокус'],
    переполнение: ['отзывчивый'],
    overscrollBehavior: ['отзывчивый'],
    обивка: ['отзывчивый'],
    placeContent: ['отзывчивый'],
    placeItems: ['отзывчивый'],
    placeSelf: ['отзывчивый'],
    placeholderColor: ['отзывчивый', 'темный', 'фокус'],
    placeholderOpacity: ['отзывчивый', 'темный', 'фокус'],
    pointerEvents: ['отзывчивый'],
    позиция: ['отзывчивый'],
    изменить размер: ['отзывчивый'],
    ringColor: ['отзывчивый', 'темный', 'фокус внутри', 'фокус'],
    ringOffsetColor: ['отзывчивый', 'темный', 'фокус внутри', 'фокус'],
    ringOffsetWidth: ['отзывчивый', 'фокус внутри', 'фокус'],
    ringOpacity: ['отзывчивый', 'темный', 'фокус внутри', 'фокус'],
    ringWidth: ['отзывчивый', 'фокус внутри', 'фокус'],
    вращать: ['отзывчивый', 'наведение', 'фокус'],
    насыщать: ['отзывчивый'],
    масштаб: ['отзывчивый', 'наведение', 'фокус'],
    сепия: ['отзывчивый'],
    перекос: ['отзывчивый', 'наведение', 'фокус'],
    пробел: ['отзывчивый'],
    ход: ['отзывчивый'],
    strokeWidth: ['отзывчивый'],
    tableLayout: ['отзывчивый'],
    textAlign: ['отзывчивый'],
    textColor: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    textDecoration: ['отзывчивый', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    textOpacity: ['отзывчивый', 'темный', 'групповое наведение', 'фокус внутри', 'наведение', 'фокус'],
    textOverflow: ['отзывчивый'],
    textTransform: ['отзывчивый'],
    преобразовать: ['отзывчивый'],
    transformOrigin: ['отзывчивый'],
    transitionDelay: ['отзывчивый'],
    transitionDuration: ['отзывчивый'],
    transitionProperty: ['отзывчивый'],
    transitionTimingFunction: ['отзывчивый'],
    перевод: ['отзывчивый', 'наведение', 'фокус'],
    userSelect: ['отзывчивый'],
    verticalAlign: ['отзывчивый'],
    видимость: ['отзывчивый'],
    пробел: ['отзывчивый'],
    ширина: ['отзывчивый'],
    wordBreak: ['отзывчивый'],
    zIndex: ['отзывчивый', 'фокус внутри', 'фокус']
  }
}  

Что такое CSS-анимация при наведении курсора и как ее использовать?

CSS-анимации и переходы могут персонализировать ваш сайт и создать приятные впечатления для ваших посетителей.Когда посетитель веб-сайта наводит курсор на анимированный элемент, например ссылку или кнопку, он может менять цвет, увеличиваться, уменьшаться, вращаться и т. Д. В зависимости от того, как вы его закодировали. Это приятно для посетителя и показывает, что ваш сайт работает.

Благодаря CSS интерфейсные разработчики теперь могут создавать анимацию и переходы без JavaScript или Flash. Это означает, что создание такой интерактивности стало проще и дешевле, чем раньше.

Как анимация CSS, так и свойства перехода могут быть указаны с помощью псевдоклассов, которые определяют особое состояние элемента.Только в этом состоянии элемент изменится с одного стиля на другой. Псевдоклассы включают:

  • : hover - когда пользователь наводит курсор на элемент
  • : фокус - когда пользователь щелкает или касается элемента, или выбирает его с помощью клавиши Tab на своей клавиатуре
  • : активный - когда пользователь нажимает на элемент
  • : цель - когда пользователь нажимает на другой элемент

Из приведенных выше псевдоклассов: hover является наиболее распространенным.

В этом посте мы предоставим все, что вам нужно знать о том, как создать анимацию или переход при наведении курсора, включая некоторые примеры, которые вы можете использовать на своем веб-сайте.

Что такое CSS-анимация наведения?

CSS-анимация при наведении курсора возникает, когда пользователь наводит курсор на элемент, и элемент отвечает движением или другим эффектом перехода. Он используется для выделения ключевых элементов на веб-странице и является эффективным способом повышения интерактивности вашего сайта.

Взгляните на пример ниже.Если вы наведете курсор на div, он постепенно изменится от светло-розового до темно-розового.

См. CSS-переход пера при наведении курсора Кристины Перриконе (@hubspot) на CodePen.

Хотя это выглядит как анимация, на самом деле это переход. Эти два термина часто используются как синонимы, но анимация и переходы различаются.

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

С другой стороны, анимация

может зацикливаться, повторяться в обратном направлении и переходить от начального состояния к промежуточному состоянию к конечному состоянию благодаря ключевым кадрам.

Ключевые кадры указывают начало и конец анимации, а также любые промежуточные шаги между началом и концом. Другими словами, каждый ключевой кадр описывает, как анимированный элемент должен отображаться в заданный момент времени во время последовательности анимации.

Давайте посмотрим на анимацию отскока ниже.

Отскок при наведении

Чтобы привлечь внимание посетителя вашего веб-сайта, вы можете создать эффект отскока, когда пользователь наводит курсор на элемент. Все, что вам нужно сделать, это определить некоторые свойства анимации и ключевые кадры. Позже в этом посте мы рассмотрим, как создать анимацию шаг за шагом; а пока мы просто кратко рассмотрим этот пример.

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

Затем я определю анимацию, которая завершит отскок за две секунды и будет работать бесконечно (пока пользователь продолжает наводить курсор на div). Я также установил для него время , легкость , чтобы анимация начиналась медленно, ускорялась, а затем замедлялась.

Наконец, я определю три ключевых кадра. Первый установит начальное состояние анимации. В 0% , или в первый момент последовательности анимации, элемент будет в 0 пикселей по оси Y. При 50% , или в середине последовательности анимации, элемент переместится на 100 пикселей вверх по оси Y.В 100% , или в конце последовательности анимации, он вернется туда, где он был начат по оси Y, завершив свой отскок.

Взгляните на результат ниже.

См. "Отскок пера при наведении" Кристины Перриконе (@hubspot) на CodePen.

Возможно, вы уже заметили, что невозможно создать эффект отскока с помощью свойства перехода. Это потому, что вы можете указать только начальное и конечное состояние переходного элемента, а не промежуточную точку.Это означает, что вы можете заставить его двигаться вверх по оси Y, но вы не можете указать, чтобы он двигался назад по оси Y, чтобы завершить его отскок.

Теперь, когда мы более знакомы с CSS-анимацией наведения и переходами, давайте посмотрим, зачем вам тратить время и ресурсы на их создание.

Как использовать CSS при наведении

Использование псевдокласса: hover в CSS имеет несколько потенциальных преимуществ.

Вы можете использовать его для передачи важной информации вашим посетителям. Например, многие веб-сайты добавляют эффект наведения курсора на свои ссылки, чтобы выделить их среди другого текста на своем сайте.

Источник изображения

Некоторые веб-сайты также используют эффект наведения, поэтому дополнительная информация появляется только тогда, когда пользователь наводит курсор на элемент. В противном случае он остается скрытым. Это идеально подходит для добавления подсказок на ваш сайт, которые могут принести пользу новичкам, но раздражают более опытных пользователей. Вот пример разработчика Саши Тран.

Вы также можете использовать эффект наведения, чтобы побудить посетителей совершить действие на вашем сайте. Например, увеличение размера кнопки, когда пользователь наводит на нее курсор, может помочь убедить его отправить форму, совершить покупку или выполнить любой призыв к действию, о котором говорится в кнопке.Это также может побудить их нажимать на элементы, отличные от кнопок, например значки социальных сетей. Ниже приведен пример Адама Моргана.

Однако важно отметить, что псевдокласс: hover не всегда работает должным образом на сенсорных экранах. Элемент может никогда не начать свой переход или эффект анимации, когда пользователь наводит на него курсор. Или он может остановиться через мгновение после того, как пользователь наведет курсор на элемент. Или он может непрерывно воспроизводить свою анимационную последовательность в цикле, даже если пользователь больше не наводит курсор на нее, и останавливаться только после того, как пользователь наводит курсор или щелкает на другом элементе.Его поведение зависит от браузера.

Поэтому вам следует убедиться, что ваш контент доступен на всех устройствах, в том числе с ограниченными или отсутствующими возможностями зависания. Это означает, что вы по-прежнему можете создавать и добавлять анимацию наведения на свой сайт, но они не должны иметь существенного значения для смысла контента или взаимодействия с пользователем.

Как создать CSS-анимацию наведения

Вот как настроить CSS-анимацию наведения на элемент:

1. Настройте свойство анимации.

Используйте свойство animation или его подсвойства для стилизации элемента.

Обратите внимание, что здесь настраивается только продолжительность, время и другие детали того, как будет развиваться последовательность анимации. Чтобы фактически начать последовательность анимации и заставить элемент двигаться, вам нужно установить правило @keyframes .

2. Определите дополнительные свойства свойства анимации.

Свойство анимации состоит из следующих подсвойств:

название-анимации

Ат-правило @keyframes .Имя-анимации Объявление используется в качестве свойства, а имя анимации - в качестве значения свойства (например, имя-анимации: bounce; ).

продолжительность анимации

Это продолжительность одного цикла анимации. Он может быть установлен в секундах (с) или миллисекундах (мс) (например, animation-duration: 3s;) .

функция синхронизации анимации

Это то, как анимация перемещается по ключевым кадрам. Он определяет кривую скорости анимации, обеспечивая плавность изменений.Вы можете использовать предопределенные значения, включая легкость, линейность, легкость входа и легкость выхода. Вы также можете использовать свои собственные значения для этой функции.

задержка анимации

Время до того, как загруженный элемент запустит последовательность анимации. Он определяется в секундах или миллисекундах. Значения: время (необязательно), начальное (устанавливает для свойства значение по умолчанию) и наследование (наследует свойство от родительского элемента).

Допускаются отрицательные значения. Если установлено отрицательное значение, анимация запускается, как если бы она уже воспроизводилась.Например, в animation-delay: -2s; , анимация будет вести себя так, как если бы она начала воспроизводиться 2 секунды назад.

количество итераций анимации

Это количество повторов анимации. Вы можете определить его как бесконечное , чтобы повторять анимацию бесконечно. Значения свойств следующие: число (значение по умолчанию - 1), бесконечное, начальное (устанавливает для свойства значение по умолчанию) и наследование.

анимация-направление

Настраивает начальную точку последовательных циклов.Анимация может менять направление или сбрасываться и повторяться. Значения свойств: нормальный (воспроизведение вперед), обратное (воспроизведение назад), альтернативное (воспроизведение вперед, затем назад), альтернативно-обратное (воспроизведение назад, затем вперед), начальное и наследование.

режим заливки-анимации

Это значения, применяемые элементом, когда анимация не воспроизводится (т.е. перед первым ключевым кадром и после воспроизведения последнего). Значения свойств: нет (по умолчанию, к элементу не применены стили), вперед (элемент сохраняет значения стиля, заданные последним ключевым кадром), назад (элемент сохраняет значения, установленные первым ключевым кадром), оба (анимация следует правилам для обоих направлений. ), начальный и наследуемый.

состояние воспроизведения анимации

Определяет статус анимации (запущена или приостановлена). Это позволяет воспроизведенной анимации возобновить работу с того места, где она была приостановлена, а не начинать заново. Значения свойств: приостановлено, запущено, начальное значение и наследование.

3. Используйте ключевые кадры для определения последовательности CSS-анимации при наведении курсора.

После определения свойства анимации и дополнительных свойств необходимо настроить at-правило @keyframes . Это поможет вам установить по крайней мере два ключевых кадра, которые описывают, как анимация должна отображаться в определенных случаях во время последовательности.

Чтобы обеспечить лучшую поддержку во всех браузерах, правило @keyframes должно иметь префикс поставщика, как и все остальные свойства transition и animation .

Префиксы поставщиков должны выглядеть так:

@ -moz-ключевые кадры

@ -o-ключевые кадры

@ -webkit-keyframes

Примечание: предыдущие примеры не имели префикса поставщика, чтобы они выглядели как можно проще.

Для обозначения различных точек останова по ключевым кадрам используется <процент> , где 0% является первым моментом последовательности, а 100% - последним. Две точки также могут быть определены по их псевдонимам от и до соответственно.

Вы можете установить промежуточный момент на 50% и / или любые дополнительные точки останова, которые вам могут понадобиться.

Свойства для анимации ( слева и сверху ) перечислены внутри точек останова, как показано в примере Шэя Хоу ниже.

Обратите внимание, что можно анимировать только отдельные свойства.

Например, если вы хотите переместить элемент сверху вниз, пытаясь анимировать с сверху: 0; От до внизу: 0; не сработает.

Вместо этого вам нужно будет анимировать с top: 0; От до верх: 100%; .

4. Используйте сокращение CSS Hover Animation.

Как и переходы, анимацию можно записывать в сокращенном формате. Это достигается за счет использования одного свойства animation вместо нескольких объявлений.

По порядку, вот как должны отображаться значения в свойстве animation : animation-name, animation-duration, animation-time-function, animation-delay, animation-iteration-count, animation-direction, animation-fill- режим и состояние воспроизведения анимации.

Теперь, когда вы знаете, как создать CSS-анимацию при наведении курсора, давайте рассмотрим несколько примеров, которые вдохновят вас.

Примеры анимации наведения курсора CSS

Когда дело доходит до настройки CSS-анимации наведения, ваше воображение - предел.Вы можете масштабировать элементы, переворачивать, вращать или даже останавливать воспроизведение при наведении курсора. Вы даже можете выйти за рамки простых эффектов и затронуть умы других разработчиков, которые придумали сложные интерактивные анимации.

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

1. Sass Hover Effects

Источник изображения

Этот разработчик делится примерами эффектов наведения, организованными по отраслям, включая сайты о путешествиях, фотографии и строительстве.Каждый из них поставляется с кодом, который вы можете установить в HTML и CSS своей страницы.

2. Эффекты при наведении курсора на кнопку

Источник изображения

Это набор из пяти эффектов при наведении курсора. Когда ваша мышь наводит курсор на кнопку, они реагируют анимацией. Все они удобны, просты и готовы к использованию на вашем веб-сайте или целевой странице.

3. CSS-эффекты при наведении курсора на изображение

Вот пятнадцать эффектов наведения, которые добавляют жизни вашим изображениям. Есть такие, которые увеличивают и уменьшают масштаб, скользят и вращают.

4. Эффекты при наведении курсора на творческое меню

Эти эффекты наведения курсора CSS помогут вашему сайту выделиться благодаря интерактивности на панели навигации.

5. Эффект наведения значков социальных сетей

Пользователи увидят классную анимацию при наведении курсора на кнопку социальной сети. Это может быть хорошим стимулом, чтобы они поделились вашим сайтом с другими.

6. Анимация масштабирования при наведении курсора

Источник изображения

Увеличивайте, уменьшайте масштаб или используйте стиль наведения для создания эффекта увеличения изображения.Это отлично подходит для выделения определенного аспекта изображения.

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

Источник изображения

Создайте эффект переворачивания карточки, чтобы использовать доступное пространство экрана для обмена дополнительной информацией. Это отлично подходит для страницы профиля контактов, на которой представлены ваши сотрудники или различных клиентов, которых вы поддерживаете.

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

Источник изображения

Поворачивайте изображения с помощью наведения для получения дополнительного спецэффекта. Это может быть забавный и беззаботный способ заинтересовать пользователей.

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

Источник изображения

Дайте пользователям повод остановиться с этой анимацией паузы при наведении курсора. Он идеально подходит для привлечения внимания посетителей, когда вы хотите, чтобы они увидели определенный элемент на вашей странице.

Добавление анимации наведения на ваш веб-сайт

Интерактивность - ключ к обеспечению хорошего взаимодействия с пользователем в Интернете. CSS-анимация наведения и переходы - отличный способ улучшить интерактивность вашего сайта.Они могут не только сделать ваш сайт более интересным, но и предоставить важную информацию вашим посетителям и побудить их к действию на вашем сайте. Лучшая часть: вам нужно только немного знать HTML и CSS, чтобы их создавать.

CSS: селектор наведения


В этом руководстве по CSS объясняется, как использовать селектор CSS под названием : hover с синтаксисом и примерами.

Описание

Селектор CSS: hover позволяет выбрать элемент, на который пользователь наводит курсор или указатель мыши.

Синтаксис

Синтаксис CSS-селектора: active:

  элемент: hover {style_properties}  

Параметры или аргументы

элемент
Элемент, на который нацеливается, когда пользователь наводит на него курсор.
style_properties
Стили CSS, применяемые к элементу, когда пользователь наводит на него курсор.

Примечание

Совместимость с браузером

Селектор CSS: hover имеет базовую поддержку в следующих браузерах:

  • Хром
  • Firefox (Gecko)
  • Internet Explorer (IE)
  • Opera
  • Safari (WebKit)

Пример

Мы обсудим селектор: hover ниже, исследуя примеры того, как использовать этот селектор в CSS для применения стиля к элементу, на который наведен курсор.

С тегом

Давайте посмотрим на пример CSS: hover, в котором мы применяем селектор: hover к тегу .

CSS будет выглядеть так:

  a: парение {цвет: белый; фон: синий; }  

HTML будет выглядеть так:

    

Когда тег не наведен, это будет выглядеть так:

Затем, когда вы наводите курсор на тег , селектор: hover будет стилизовать тег следующим образом:

В этом примере: наведите ссылку "CheckYourMath.com "будет отображаться как белый текст с синим фоном только при наведении курсора или указателя мыши.

С тегом

Давайте посмотрим на пример CSS: hover, в котором мы применяем селектор: hover к тегу

.

CSS будет выглядеть так:

  div: hover {фон: желтый; }  

HTML будет выглядеть так:

  

TechOnTheNet.com предоставляет полезные ссылки, инструкции и часто задаваемые вопросы с 2003 года.Мы ориентируемся на такие технологии, как Microsoft Access, Microsoft Excel, Microsoft Word, SQL, Oracle / PLSQL, MySQL, HTML, CSS и язык C.

Информация, представленная здесь, подходит для всех программистов от новичка до эксперта. Мы надеемся, что вы найдете эту информацию полезной и вернетесь на наш сайт по мере расширения нашей информационной базы.

Когда тег

не наведен, он будет выглядеть так:

Затем, когда вы наводите курсор на один из тегов

, селектор: hover будет стилизовать тег

следующим образом:

В этом примере: hover мы навели курсор на второй тег

, который заставил селектор: hover стилизовать

с желтым фоном.

потрясающих CSS-эффектов при наведении курсора на изображения, которые вы можете использовать на своем веб-сайте

Используя эффекты наведения изображения CSS, вы можете добиться прекрасных результатов на любом веб-сайте без особых усилий. Эффекты наведения, вероятно, являются наиболее часто используемыми элементами в веб-дизайне, в основном из-за простоты их реализации в сочетании с значительно улучшенным пользовательским интерфейсом.

Сложная анимация без использования CSS может перетащить веб-сайт вниз, если вы не будете осторожны, и поэтому эффекты наведения изображения CSS предпочтительнее почти во всех случаях.Они не только быстро применяются к вашему сайту, но также быстро загружаются и добавляют минимальные накладные расходы на ваши страницы.

В этой статье, созданной нашими сотрудниками wpDataTables (плагин №1 для таблиц WordPress), мы собрали список CSS-эффектов наведения изображения, которые вы можете использовать на своем сайте, а также некоторую важную информацию по этой теме.

Роль CSS-эффектов при наведении курсора на изображения

Интерактивность - важная часть любого современного веб-сайта, так как она удерживает пользователей и побуждает их проводить больше времени за просмотром.Включение интерактивных элементов на веб-сайт также делает работу пользователя более интуитивно понятной, поскольку они намекают на то, что пользователь может делать.

Основная проблема заключается в том, что анимация может замедлить работу веб-сайта, если не используется должным образом. Именно здесь появляются эффекты наведения на изображение CSS и спасают положение.

Эффекты наведения на изображение дают возможность добавить интерактивности элементам на веб-сайте, не замедляя его. Эффекты наведения элегантны, они не загромождают дизайн, а веб-сайты работают плавно, независимо от того, сколько вы добавляете.

Мы собрали лучшие CSS-эффекты наведения на изображение и описали их в нескольких словах, чтобы помочь вам выбрать наиболее подходящий для вашего случая. Есть еще много вещей, которые стоит изучить, но список ниже - отличная отправная точка.

CSS Image Hover Effects

Анимация наведения кнопки

Мы начнем список эффектов наведения изображения CSS с помощью анимации наведения кнопки, которая создает анимированный контур при наведении курсора.Эффект был разработан Бхаутиком Бхарадавато, чтобы выделить кнопки с призывом к действию.

Он работает плавно, а код очень чистый, что обеспечивает быструю загрузку и легкую настройку.

Коллекция эффектов при наведении курсора на кнопки

Дэвид Коннер собрал целую коллекцию CSS-эффектов наведения на изображение. Легче разместить несколько эффектов в одном месте и использовать их по мере необходимости. Эффекты полностью основаны на CSS3 и HTML5.

Вы можете настроить эффекты наведения в соответствии с дизайном вашего веб-сайта, чтобы они гармонично сочетались друг с другом. Эффекты также масштабируемы и отлично работают на мобильных устройствах. Дэвид Коннер сделал код эффектов доступным для непосредственного использования.

3D-эффект наведения с учетом направления (концепция)

Ноэль Дельгадо придумал этот эффект зависания с указанием направления, который наверняка встречается нечасто. Это эффект наведения изображения, который пользователи предпочитают для демонстрации продуктов или визуальных элементов.

Такие эффекты наведения отлично подходят для концепций галерей. Сам Ноэль использовал шаблон галереи, показывая, как работает его эффект наведения.

CSS-эффекты наведения изображения

Naoya включил пятнадцать CSS-эффектов наведения изображения в один набор. Каждый эффект имеет разное предназначение, предоставляя вам все необходимые элементы в одном месте.

Вы можете выделить как текстовые элементы, так и изображения, что делает этот набор идеальным для веб-сайтов с фотографиями или любого проекта, основанного на визуальных эффектах.

World Places (CSS 3D наведение)

Этот эффект основан на переворачивании изображения, когда пользователь наводит на него курсор. Этот процесс довольно распространен и постоянно используется в презентациях и анимационных видеороликах. Простота этого эффекта наведения изображения делает его таким популярным среди пользователей.

Вы можете либо анимировать каждую часть элемента, либо сохранить простоту в одном блоке. Переход происходит плавно, и пользователям предлагается больше взаимодействовать с веб-сайтом.

Simple Tile Hover Effect

Крис Диси (Chris Deacy) задумался над созданием CSS-эффектов наведения изображения, которые можно было бы настраивать. Если вы устали от других решений, которые можно найти на рынке, и хотите попробовать что-то, что позволяет анимировать любой контент, этот эффект для вас.

Эффекты при наведении курсора на креативное меню #

Меню - одна из самых интерактивных частей веб-сайта, поэтому оно заслуживает пристального внимания со стороны веб-мастеров.Чтобы сделать его максимально простым, используйте эффекты наведения изображения CSS, подобные этому, созданному Абделем Рманом. Эффект основан на CSS3 и работает со всеми типами интерфейсов.

Attract эффект зависания

Этот эффект наведения изображения CSS хорошо сочетается с определенными типами страниц и веб-сайтов. Если на вашем сайте есть отдельный раздел, где представлена ​​ваша команда, вы обязательно захотите попробовать этот эффект.

Так же прекрасно работает со служебными секциями, так как каждому элементу придается динамический эффект.Луи Хобрегтс использовал только HTML5 и CSS3 для создания этого, поэтому не беспокойтесь о скорости отклика.

Эффект наведения анимации

Никола Пресси имел в виду кое-что отличное, создавая этот эффект анимации наведения. Он подходит для фрилансеров или других лиц, которые сосредоточены на демонстрации своей прошлой работы.

Этот эффект наведения изображения CSS отлично подойдет для приветственного сообщения на первой странице или для раздела входа в систему, чтобы добавить к нему индивидуальность.Для интернет-магазинов это можно использовать, чтобы подчеркнуть предложение или план с ограниченным периодом.

Светящийся значок, эффект наведения

Glowing Icon - это простой эффект зависания, созданный Диего Лопесом. Эффект лучше всего подходит для веб-сайтов с минималистичным дизайном и темной цветовой палитрой. Эти эффекты могут добавить дополнительный уровень индивидуальности вашему сайту, не нарушая простоту контента или время загрузки.

Эффект наведения значков социальных сетей

В онлайн-маркетинге продвижение вашего контента в социальных сетях является абсолютной необходимостью.Тем не менее, люди склонны игнорировать символы социальных сетей при посещении веб-сайта, потому что они не выделены должным образом.

Вот почему вы должны использовать эффект наведения, чтобы переместить их вперед. Этот от EphraimSangma должен идеально соответствовать вашим потребностям, поэтому попробуйте.

CSS3 Эффект наведения с использованием: после элемента Psuedo

Среди эффектов наведения курсора на изображения CSS, которые вы можете использовать, вы найдете такие, как Larry Geams, которые лучше всего подходят для организации пунктов меню.В зависимости от того, какой тип меню вы выбрали, систематизировать элементы может быть довольно сложно. Этот эффект наведения позволяет изменять разделы меню с помощью цветовых кодов.

Twisty thing - IE10 + iPad + кросс-браузер - перетащите, чтобы повернуть куб

Этот эффект наведения имеет отличную кроссбраузерную поддержку, и он будет работать на iPad и почти во всех широко используемых браузерах. Это обновление этой версии: https://codepen.io/dehash/pen/mBnsG.

Эффект наведения на 3D-изображение большого пальца

Об этом эффекте наведения особо нечего сказать, кроме того, что он основан на эффекте псевдотени и основан на CSS3.Лучше всего для простых элементов, которые должны быть интерактивными.

Uncomfortable: Photo Modal (только CSS)

Этот эффект отличает себя от других CSS-эффектов наведения на изображение, поскольку это реальный актив, принесенный из выступления, которое состоялось некоторое время назад на CodePen Houston. Он адаптирован из своей первоначальной версии и теперь открыт для широкой публики.

Котята! (изображения при наведении)

Автор этого эффекта наведения сделала нечто удивительное: Ана Тюдор записала себя, составляя код для этого эффекта наведения, вдохновляя людей на создание своего собственного.Вы можете увидеть процесс здесь.

Вдохновляющее наведение на портретное изображение

Lab21 разработал этот эффект наведения, который подходит для портретных изображений. Эффект был построен с использованием пользовательских переменных CSS.

Изображения в перспективе

Генри Дерош создал этот эффект наведения, не намереваясь запускать его как продукт. На самом деле это был эксперимент по привыканию к функции преобразования в CSS, но в итоге она оказалась настолько хороша, что люди начали использовать ее на своих веб-сайтах.

Жалюзи

Все так или иначе очарованы жалюзи, так почему бы не превратить их в эффект парения? Dimitra сделала именно это при создании этого эффекта наведения изображения CSS, где вы можете установить количество столбцов и настроить его в соответствии с вашими потребностями.

Эффект наведения изображения

Здесь DimitraVasilopoulou вышла за рамки базовых эффектов наведения изображения и создала этот эффект динамической сетки.Это идеальный эффект зависания, если вы поклонник Greensock.

CSS Эффект наведения градиента

Тем, кто утверждает, что эффекты наведения в режиме смешанного наложения не работают с CSS, следует обратить внимание на этот эффект наведения, который создал Джон Дайелло. Это единственное доказательство того, что вам нужно убедиться, что эта концепция работает.

SVG clip-path Эффект наведения

Ноэль Дельгадо воссоздал эффект зависания сетки, который люди видели в портфолио CJ Gammon, но добавил к нему путь клипа SVG и переходы CSS.

Анимация при наведении курсора на один div

Некоторые эффекты наведения хорошо работают на менее загроможденных веб-сайтах. Кэссиди Уильямс разработала свои CSS-эффекты наведения на изображение, чтобы они соответствовали минималистичным веб-сайтам, заполненным большим количеством белого пространства. Конечно, любой может использовать его для добавления на свои сайты тонких анимационных эффектов.

Наведите указатель мыши, чтобы открыть часть фонового изображения

Это всего лишь демонстрация, но вы узнаете, как добиться этого эффекта, используя функцию div с прикреплением фона.Вы также можете сделать его стационарным или мобильным.

CSS Эффект наведения Автор Джереми Боуле

Если вы устали от эффектов наведения курсора на изображения CSS, которые все люди используют на своих веб-сайтах, создание Джереми Буле спасет вас. Этот эффект наведения имеет более футуристический характер, включая появление вращающегося трехмерного изображения при наведении курсора.

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

Эффект наведения границы

Это эффект наведения, который лучше всего работает с меню навигации, кнопками с призывом к действию и подобными элементами. Вы можете настроить эффект в соответствии с вашими потребностями.

Изображение с эффектом отражения и приближения при наведении

Это эффект наведения изображения, позволяющий улучшить визуализацию контента независимо от типа веб-сайта. Он прекрасно координирует элементы, чтобы эффект при наведении был аккуратным и аккуратным.В целом эффект получается очень плавным и быстрым, что придает веб-сайту профессиональный вид.

Грохот на зависании

Кайл Фостер экспериментировал с хроматическими типами и псевдоэлементами при создании Rumble on Hover. Эффект основан на анимации при наведении курсора и является первым из многообещающей серии подобных эффектов наведения от этого создателя.

Встряхивающие формы

Лаура Монтгомери создала эффект наведения «Shaking Shapes», попробовав базовую анимацию CSS и несколько «встряхиваний».Цель заключалась в том, чтобы элемент трясся при наведении, и это отлично работает.

CSS Grow Hover Effect

Адам Морган создал этот эффект наведения, основанный на очень простом принципе: увеличение размера элемента при наведении на него курсора.

Библиотеки CSS для использования с эффектами наведения

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

Изображение при наведении

Это полная библиотека наведения изображений на основе CSS, состоящая из 44 эффектов. Эффекты являются базовыми: от выцветания, толчков и раскрытий до размытия, складок или ставен. Есть еще много всего, что нужно открыть, и вы также можете решить, в каком направлении должен двигаться ваш элемент.

Подпись к изображению Анимация наведения

Эта библиотека включает 4 анимации подписи, которые активируются, когда пользователь наводит курсор на элемент.Все анимации основаны на CSS3 и работают с большинством браузеров.

iHover

iHover содержит CSS3 эффекты наведения - 20 круговых и 15 квадратных. Чтобы использовать эффекты, включенные в эту библиотеку CSS, вам нужно будет написать несколько строк разметки HTML и включить их в файлы.

Aero - CSS3 Hover Effects

В Aero нет ничего особенного. Он содержит базовые эффекты наведения, основанные на CSS3 и хорошо работающие на всех типах веб-сайтов.

imagehover.css

Если вам нужны масштабируемые эффекты наведения, эта библиотека создана специально для вас. На выбор предлагается более 40 эффектов наведения изображения CSS, все в одной библиотеке размером всего 19 КБ.

Hov e r.css

Hover.css содержит эффекты, которые можно применять к кнопкам, ссылкам, логотипам, изображениям и другим элементам на вашем веб-сайте. Вы можете сразу же применить их к своим собственным элементам, изменить их или использовать в качестве отправных точек для новых.

Завершение мыслей об этих эффектах наведения изображения CSS

Все веб-дизайнеры должны владеть полной коллекцией CSS-эффектов наведения на изображение, чтобы использовать их при создании нового проекта. Они добавляют глубину дизайну за счет анимации элементов и поощряют взаимодействие с пользователем.

Что замечательно во многих из этих эффектов, так это то, что их очень легко настроить и адаптировать к вашим потребностям. Не забудьте добавить свой индивидуальный подход, даже если это всего лишь небольшая корректировка значения здесь или там, чтобы посетители увидели что-то уникальное и особенное.

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

Мы также писали о нескольких связанных темах, таких как переходы между страницами CSS, мобильное меню CSS, поле поиска HTML, галерея изображений CSS, редактор CSS.

Интерактивная электронная почта для начинающих: 6 интерактивных элементов, которые вы можете добавить в свои электронные письма сегодня

В начале 2017 года мы спросили более 1200 маркетологов электронной почты о том, что, по их мнению, будет самой большой электронной тенденцией года.Интерактивная электронная почта возглавляет список: 27% маркетологов заявили, что 2017 год станет годом интерактивной электронной почты. И действительно, мы действительно видели несколько действительно вдохновляющих интерактивных писем, включая эти шедевры от Nest, B&Q и Burberry. (В ноябре мы также разослали интерактивный информационный бюллетень! Ознакомьтесь с ним здесь.)

Однако интерактивность в электронной почте далека от того, чтобы стать мейнстримом. Согласно нашему исследованию State of Email Creative, 85% всех респондентов электронной почты еще не экспериментировали с интерактивной электронной почтой.Пока что интерактивность, кажется, является игровым полем для известных брендов с командами электронной почты, которые действительно овладели искусством продвинутой электронной почты. Для небольших команд электронной почты или новичков в электронной почте интерактивность все еще кажется недосягаемой.

Начало работы с интерактивной электронной почтой

Секрет в том, чтобы начать с малого. Добавление простых интерактивных элементов в дизайн ваших писем может иметь большое влияние, сделать их более интересными и улучшить впечатления ваших подписчиков.

На Litmus Live Boston 2017 Элис Ли, электронная почта и веб-разработчик Shutterstock, поделилась своими хитростями для начала работы с интерактивным дизайном электронной почты, что сделало ее доклад одной из самых популярных сессий конференции 2017 года.

Все мы привыкли к интерактивности и кинетической обратной связи при навигации в Интернете и в мобильных приложениях. Почему это должно заканчиваться электронной почтой? Чем больше мы добавляем интерактивности к нашим электронным письмам, тем больше это становится ожидаемым, а не новинкой, ESP будут вынуждены расширять свою поддержку более продвинутого кода, и мы будем все ближе к обеспечению более плавного взаимодействия между Интернетом и электронной почтой.
Алиса Ли, Shutterstock

Не было возможности лично присутствовать на Litmus Live? Сегодня мы представляем вам основные моменты сеанса Алисы с простыми интерактивными элементами, которые вы можете скопировать и настроить для своих кампаний.

Посмотреть запись полностью

С планом Litmus Plus или выше у вас есть доступ к полной записи выступления Алисы Litmus Live Talk.

Посмотреть видео →

Нет подписки Litmus Plus? Записаться на пробную версию →

Hover Effects: первый шаг к интерактивному письму

Добавление эффекта наведения - один из самых простых способов сделать ваши электронные письма интерактивными.Эффекты наведения наиболее популярны, когда дело доходит до выделения текста - например, выделения текстовой ссылки в копии электронного письма. Они также могут быть простым, но мощным инструментом, позволяющим сделать другие элементы, включая изображения, фоновые изображения или призывы к действию, интерактивными и, следовательно, более привлекательными. Вот как.

Эффекты наведения: текст

Поддерживается в:

  • AOL
  • Apple Mail
  • Yahoo! Почта
  • Gmail

С эффектами наведения вы можете изменить практически любой аспект текста при наведении курсора.Например, вы можете изменить его цвет, добавить тень или подчеркнуть.

Вот пример того, как вы можете изменить цвет ссылки с синего на красный при наведении курсора:

Встроенный CSS

  .txt-color: hover {color: # 8ddaeb! Important; }  

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

  


Изменить цвет при наведении  
  

В заголовке определите класс CSS, который определяет цвет при наведении курсора.Затем в теле письма добавьте тег , ссылающийся на этот класс, в тег ссылки. (Добавление класса hover к тегу может вызвать мерцание в некоторых клиентах, например Yahoo! Mail. Использование тега помогает избежать этой проблемы.)

Эффекты наведения: Затухание

Поддерживается в:

Эффекты затухания при наведении курсора - еще один простой, но мощный элемент, который вы можете добавить в свои шаблоны. Контролируя непрозрачность любого элемента, например текста, изображений или таблиц, и комбинируя этот эффект с переходами, вы можете создавать плавные, постепенные эффекты наведения, которые сделают ваши электронные письма более заметными.

Встроенный CSS

  .fade-slow {переход: 0,3 с! Важно; }
.fade-slow: hover {переход: 0,3 с! важно; непрозрачность: 0,5! important;}  

HTML - Непрозрачность при наведении текста 50% / 0,3 секунды

  

Затенение текста    

В этом примере мы используем эффект наведения, чтобы изменить непрозрачность текстовой ссылки до 50%, но вместо немедленного применения изменения, эффект перехода установлен на 0.3 секунды помогают сгладить изменение непрозрачности. При использовании эффекта перехода не забудьте не только установить его для класса, который определяет состояние наведения, но также применить переход к исходному состоянию . При этом текст плавно исчезает при наведении курсора, а также плавно становится сплошным при удалении мыши от элемента.

Эффекты наведения: цвета фона

Поддерживается в:

  • AOL
  • Apple Mail
  • Yahoo! Почта
  • Gmail

Использование эффекта наведения для изменения цвета фона пригодится, когда вы хотите придать пуленепробиваемым кнопкам особый вид.

Встроенный CSS

  .bg-rollover: hover {
цвет фона: # 585f6a! important;
}  

HTML

  
Горизонтальный расширяемый блок

Используйте приведенный выше встроенный CSS, чтобы добавить простое изменение цвета при наведении курсора на ваши кнопки CTA - как в этом случае, чтобы изменить цвет с красного на серый при наведении курсора.Просто добавьте класс «.bg-rollover» к HTML-элементу, в котором находится ваша пуленепробиваемая кнопка, в котором определяется цвет фона.

Эффекты наведения: фоновые изображения

Поддерживается в:

  • AOL
  • Apple Mail
  • Yahoo! Почта
  • Gmail

Вы также можете заменять фоновые изображения при наведении, как мы это делаем в этом примере:

Встроенный CSS

  .bgimg-swap: hover {background-image: url ('http: // www.fillmurray.com/284/197 ')! important;}  

HTML - Замена фонового изображения

    

В CSS вы просто меняете URL фонового изображения при наведении курсора. Вы можете комбинировать его с переходом, чтобы добиться эффекта затухания (как мы видели это в примерах выше). Кроме того, поскольку это фоновое изображение, а не обычное изображение, вы можете накладывать элементы поверх изображения, включая ссылки, текст или элементы плавающего изображения.

Изучите интерактивность электронной почты

В этом 4-страничном техническом документе руководители электронной почты узнают об интерактивности электронной почты, видят примеры и понимают ее проблемы.

Получить резюме →

Если вы включаете несколько фоновых изображений с эффектами наведения курсора - например, если вы хотите добавить интерактивную плитку для каждого сообщения блога, которое вы публикуете в своем информационном бюллетене, - этот подход может стать немного громоздким.Это связано с тем, что для каждого фонового изображения необходимо указать собственное изображение при наведении курсора в CSS. Поэтому, если вы хотите включить несколько эффектов наведения для нескольких изображений, вам придется продублировать этот класс и не забыть указать путь к изображению наведения для каждого из них.

Кроме того, поскольку изображение для замены при наведении курсора не загружается, пока вы не наведете на него указатель мыши, такой подход может затруднить работу при медленном подключении к Интернету.

Эффекты наведения: обычные изображения

Поддерживается в:

  • AOL
  • Apple Mail
  • Yahoo! Почта
  • Gmail

Конечно, вы также можете добавить эффекты наведения к обычным изображениям:

Встроенный CSS

 .img-swap: hover img {max-height: 0px! important; height: 0px! important;}  

HTML - Обмен изображениями

  

В отличие от работы с фоновыми изображениями, обычные изображения позволяют указать изображение при наведении курсора в теле письма, а не в CSS.Это не только упрощает отслеживание путей к изображениям при наведении курсора для нескольких изображений, но также гарантирует, что у вас не будет задержек в скорости загрузки.

Однако наложение элементов поверх изображения не работает - вам придется работать с подходом фонового изображения, чтобы это произошло. Кроме того, вы не можете использовать переходы при работе с эффектами наведения для обычных изображений. Алиса объясняет, почему:

Эффекты наведения: движение

Поддерживается в:

  • AOL
  • Apple Mail
  • Yahoo! Почта
  • Gmail

Вы также можете добавить к своему электронному письму эффект движения, например, чтобы выделить CTA.Вот пример:

Встроенный CSS

  .grow {transition: 0.3s! Important;}
.grow: hover {цвет фона: # 298aae! важно;
высота: 50 пикселей! важно; позиция: относительная! важная;
переход: 0,3 с! important;}  

HTML - всплывающая вкладка и изменение цвета

  <граница таблицы = "0" cellpadding = "0"
cellspacing = "0" align = "center">  
Всплывающая вкладка

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

Собираем все вместе

Вот документ Builder, в котором собраны все интерактивные элементы Алисы. Убедитесь, что вы проверили его, чтобы увидеть код в действии:

Хотите посмотреть, как эти эффекты могут работать в реальном электронном письме? Алиса расскажет, как она использовала интерактивные элементы выше, чтобы сделать это электронное письмо Shutterstock по-настоящему особенным:

Посмотреть запись полностью

С планом Litmus Plus или выше у вас есть доступ к полной записи выступления Алисы Litmus Live Talk.

Посмотреть видео →

Нет подписки Litmus Plus? Записаться на пробную версию →

.

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

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