Css3 3д трансформация изображения при наведении. Hover-эффекты для изображений на чистом CSS3. Крутим элементы: rotate. Задаем “точку вращения”. Эффекты #4.1-#4.4


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

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

Hover эффект в CSS стилях добавляется справа от элемента следующим образом:

a: hover { color : red ; }

a:hover { color: red; }

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

button : hover { background : rgba (0 , 0 , 0 , 0 ) ; color : red ; } .my-picture : hover { opacity : 0.5 ; filter : alpha(opacity= 50 ) ; }

button:hover { background: rgba(0,0,0,0); color: red; } .my-picture:hover { opacity: 0.5; filter: alpha(opacity=50); }

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

Кстати, при задании стилей ссылок также дополнительно могут использоваться селекторы:link — для не посещенных еще страниц, :visited — тех, где вы уже были + :active определяет активный сейчас адрес. Важно размещать hover эффект в CSS после:link и:visited, если они существуют.

Перейдем от теории к практике. Ниже представлен список полезных материалов и сниппетов — переходите по ссылкам дабы просмотреть исходники.

Hover эффекты кнопок и ссылок

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

Простые примеры для кнопок

Sullivan Buttons

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

CSS Icons on Hover

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

Button Hover Effects

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

Nav Hovers

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

Info on Hover

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

Mana Button

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

Hover эффекты для изображений

15 базовых приемов

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

Красивые hover эффекты изображений

Подборка из 30 приятных и плавных действий при наведении на картинку. За счет простых визуальных манипуляций в виде зума, добавления линий создается хороший комплексное впечатление. Местами увеличивается заголовок и «подтягивается» краткое описание. Отличный вариант для портфолио.

Barberpole Hover Animation

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

CSS hover эффекты с определением направления

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

Во многих сложных решениях Javascript и jQuery для hover эффектов позволяют значительно разнообразить и улучшить результат.

Direction Aware Hover Goodness

Direction Aware Tiles using clip-path Pure CSS

Остальные фишки ищите в оригинальной статье.

Animatism

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

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

CSS Hover библиотеки

Hover.css

Проект под незамысловатым названием Hover.css содержит коллекцию CSS3 эффектов для ссылок, кнопок, блоков и т.п. Можете использовать готовый код и/или добавлять в него свои модификации. Здесь много интересного: 2D/3D преобразования, работа с фоном и рамками, тени, иконки. Решение доступно в CSS, LESS и Sass форматах.

Imagehover.css

Еще одна библиотека задающая hover эффекты картинкам — в бесплатной версии найдете 44 варианта преобразований (премиальный набор содержит их в 5 раз больше). Тут также поддерживаются LESS и SCSS, весит это дело лишь 19кб. На сайте имеется страница с демонстрацией всех работающих примеров. Предлагается много уникальных фишек, которые не встречались выше.

В проекте более 30 разных приемов для круглых и квадратных по формату объектов. Все они достаточно оригинальные, простых «одноэлементных» действий в виде обычного зума/вылетания практически нет. Реализована задача на чистом CSS3 + HTML (плюс Scss файлы включены). Отличная совместимость с Bootstrap 3, есть документация.

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

Если знаете еще какие-то интересные фишки и сниппеты, присылайте URL’ы на них в комментариях. И мы в будущем дополним статью.

На этом уроке мы сделаем меню с красивым эффектом при наведении с использованием псевдоэлементов - :after и :before . Что такое псевдоэлементы, мы очень подробно разбирали .

В итоге мы должны получить следующее:

Сделаем HTML заготовку из простого списка с ссылками внутри.


  • Квартиры

  • Дома

  • Дачи

  • Участки

  • Гаражи


По умолчанию меню прижато к верхнему левому углу окна браузера. В файле стилей спозиционируем от этого угла на 20% от верхнего края и на 30% от левого края окна браузера, уберем маркеры и отобразим пункты меню горизонтально.

Ul {
position: absolute;
top: 20%;
left: 30%;
list-style: none;
display: flex;
}

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

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

Ul li a {
display: block;
padding: 10px 20px;
margin: 20px 0; /* Отступы для псевдоэлемента сверху и снизу от меню */
transition: .5s;
position: relative;
}

Заготовка в виде меню для демонстрации эффекта неведения , готова. А теперь приступим к самому эффекту. Пока наше меню выглядит так:

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

посмотрим на код ниже.

Ul li a:before {
content: "";
position: absolute;
top: 0;
left: 0;
border-top: 1px solid #44c09d;
border-bottom: 1px solid #44c09d;
transform: scaleY(2);
transition: .5s;
}

Почему мы не можем просто нарисовать эти линии в HTML -разметке, а затем их спрятать? Думаю, что неопытный верстальщик так и сделал бы. Но мы будем учиться все делать правильно. Зачем загромождать HTML -страницу лишним кодом, когда существует псевдоэлемент before ? До меню (before ), мы получили две линии, за счет однопиксельных бордюров и для жирности увеличили их в 2 раза.

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

Ul li a:before {
opacity: 0;
}

Получается, что мы прописываем стили для псевдокласса hover псевдоэлемента before , звучит забавно.

Ul li a:hover:before {
transform: scaleY(1.2); /* Масштабирование уменьшение */
opacity: 1;
}

Теперь копируем код с before и меняем это слово на after . Убираем из кода свойство opacity , меняем значение у transform и прописываем background .

Ul li a:after {
transition: .5s; /* Плавный переход */
background: #44c09d;
}

Ul li a:hover:after {
transform: scale(1);
}

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

Ul li a:hover {
color: #fff;
}

И добавим к обоим псевдоэлементам before и after порядок наложения слоев, чтобы этот слой был ниже слоя с hover псевдоклассом и тогда эффект будет виден.

Z-index: -1;

Посмотреть, как работает этот эффект при наведении , вы можете на

демо странице .

Код hover эффекта целиком:

Для тех, кто только начал изучать HTML5 и CSS3 , будет полезным пройти .

| 18.02.2016

CSS3 открывает неограниченные возможности перед UI-дизайнерами, и главный плюс состоит в том, что практически любую идею можно легко реализовать и воплотить в жизнь, не прибегая к использованию JavaScript.

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

Для более детального ознакомления вы можете скачать архив с файлами.

Все эффекты работают с помощью свойства transition (англ. transition - «переход», «превращение») и псевдокласса:hover , который определяет стиль элемента при наведении на него курсора мыши ( в нашем учебнике). Для наших примеров мы использовали блок div размером 500×309 пикселей, исходный цвет фона #6d6d6d и длительность перехода от одного состояния к другому 0,3 секунды.

Body > div { width: 500px; height: 309px; background: #6d6d6d; -webkit-transition: all 0.3s ease;; -moz-transition: all 0.3s ease;; -o-transition: all 0.3s ease;; transition: all 0.3s ease; }

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

Когда-то реализация такого эффекта была довольно кропотливой работой, с математическими вычислениями определенных значений RGB. Сейчас же достаточно записать стиль CSS, в котором необходимо добавить к селектору псевдокласс:hover и задать фоновый цвет, который плавно (за 0,3 секунды) заменит собой исходный цвет фона при наведении курсора на блок:

Color:hover { background:#53ea93; }

2. Появление рамки

Интересная и яркая трансформация - внутренняя рамка, плавно появляющаяся при наведении мыши. Хорошо подойдет для украшения различных кнопок. Чтобы добиться такого эффекта, используем псевдокласс:hover и свойство box-shadow с параметром inset (задает тень внутри элемента). Кроме этого, потребуется задать растяжение тени (в нашем случае это 23px) и её цвет:

Border:hover { box-shadow: inset 0 0 0 23px #53ea93; }

3. Свинг

Данная CSS анимация - исключение, т. к. здесь свойство transition не используется. Вместо него мы задействовали:

  • @keyframes - базовую директиву для создания покадровой CSS-анимации, которая позволяет делать т. н. раскадровку и описывать анимацию в виде списка ключевых моментов;
  • animation и animation-iteration-count - свойства для задания параметров анимации (длительность и скорость) и количества циклов (повторов). В нашем случае повтор 1.
@-webkit-keyframes swing { 15% { -webkit-transform: translateX(9px); transform: translateX(9px); } 30% { -webkit-transform: translateX(-9px); transform: translateX(-9px); } 40% { -webkit-transform: translateX(6px); transform: translateX(6px); } 50% { -webkit-transform: translateX(-6px); transform: translateX(-6px); } 65% { -webkit-transform: translateX(3px); transform: translateX(3px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes swing { 15% { -webkit-transform: translateX(9px); transform: translateX(9px); } 30% { -webkit-transform: translateX(-9px); transform: translateX(-9px); } 40% { -webkit-transform: translateX(6px); transform: translateX(6px); } 50% { -webkit-transform: translateX(-6px); transform: translateX(-6px); } 65% { -webkit-transform: translateX(3px); transform: translateX(3px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } .swing:hover { -webkit-animation: swing 0.6s ease; animation: swing 0.6s ease; -webkit-animation-iteration-count: 1; animation-iteration-count: 1; }

4. Затухание

Эффект плавного затухания - это, по сути, обычное изменение прозрачности элемента. Анимация создается в два этапа: сначала необходимо установить первоначальное состояние прозрачности 1 - то есть полная непрозрачность, после чего указать её значение при наведении мыши - 0.6:

Fade { opacity: 1; } .fade:hover { opacity: 0.6; }

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

5. Увеличение

Чтобы при наведении курсора блок увеличивался, мы воспользуемся свойством transform и зададим ему значение scale(1.2) . При этом блок увеличится на 20 процентов с сохранением своих пропорций:

Grow:hover { -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

6. Уменьшение

Уменьшить элемент так же просто, как и увеличить. Если в пятом пункте для увеличения масштаба нам необходимо было указать значение больше, чем 1, то для уменьшения блока мы просто укажем значение, которое будет меньше единицы, например, scale(0.7) . Теперь при наведении мыши блок будет пропорционально уменьшаться на 30 процентов от своего первоначального размера:

Shrink:hover { -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); }

7. Трансформация в круг

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

Circle:hover { border-radius: 70%; }

8. Вращение

Забавный вариант анимации - поворот элемента на определенное количество градусов. Для этого нам снова понадобится свойство transform , но уже с другим значением - rotateZ(20deg) . При таких параметрах блок будет повернут на 20 градусов по часовой стрелке относительно оси Z:

Rotate:hover { -webkit-transform: rotateZ(20deg); -ms-transform: rotateZ(20deg); transform: rotateZ(20deg); }

9. 3D тень

Мнения дизайнеров расходятся в том, уместен ли данный эффект во флэт-дизайне. Тем не менее, эта CSS3 анимация является весьма оригинальной и также используется на веб-страницах. Добиваться трехмерного эффекта будем с помощью уже знакомых нам свойств box-shadow (создаст многослойную тень) и transform с параметром translateX(-7px) (обеспечит сдвиг блока по горизонтали влево на 7 пикселей):

Threed:hover { box-shadow: 1px 1px #53ea93, 2px 2px #53ea93, 3px 3px #53ea93, 4px 4px #53ea93, 5px 5px #53ea93, 6px 6px #53ea93, 7px 7px #53ea93; -webkit-transform: translateX(-7px); transform: translateX(-7px); }

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

На сегодняшний день свойство transition поддерживается следующими браузерами:

Десктопные браузеры
Internet Explorer Поддерживается версией IE 10 и выше
Chrome Поддерживается с версии 26 (до версии 25 работает с префиксом -webkit-)
Firefox Поддерживается с версии 16 (в версиях 4-15 работает с префиксом -moz-)
Opera Поддерживается с версии 12.1
Safari Поддерживается с версии 6.1 (в версиях 3.1-6 работает с префиксом -webkit-)

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

Надеемся, что эти примеры CSS3 анимации были полезными для вас. Желаем творческих успехов!

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

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

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


.png" alt="">

Скрипты на zotner.ru


Переход


CSS

Abecause_certainlyn {
width: 100%;
height: 100%;
float: left;
overflow: hidden;
position: relative;
text-align: center;
cursor: default;
}

Abecause_certainlyn .easytuni_cigaretolsag {
width: 100%;
height: 100%;
position: absolute;
overflow: hidden;
top: 0;
left: 0;
opacity: 0;
filter: alpha(opacity=0);
background-color: rgba(27, 25, 25, 0.65);
-webkit-transition: all 0.4s cubic-bezier(0.88, -0.99, 0.35, 1.4);
transition: all 0.4s cubic-bezier(0.88, -0.99, 0.37, 1.43);
}

Abecause_certainlyn img {
display: block;
position: relative;
-webkit-transition: all 0.4s cubic-bezier(0.88, -0.99, 0.33, 1.4);
transition: all 0.4s cubic-bezier(0.88, -0.99, 0.36, 1.42);
}

Abecause_certainlyn h2 {
text-transform: uppercase;
color: #fff;
text-align: center;
position: relative;
font-size: 17px;
background: rgba(25, 24, 24, 0.73);
-webkit-transform: translatey(-100px);
-ms-transform: translatey(-100px);
transform: translatey(-100px);
-webkit-transition: all 0.4s cubic-bezier(0.88, -0.99, 0.44, 1.36);
transition: all 0.4s cubic-bezier(0.88, -0.99, 0.44, 1.44);
padding: 10px;
}

Abecause_certainlyn a.pembarra_sedogzam {
text-decoration: none;
display: inline-block;
text-transform: uppercase;
color: #f7f2f2;
border: 1px solid #fff;
background-color: rgba(29, 28, 28, 0);
opacity: 0;
filter: alpha(opacity=0);
-webkit-transition: all 0.4s cubic-bezier(0.25, 0.1, 0.16, 0.89);
transition: all 0.4s cubic-bezier(0.25, 0.1, 0.24, 0.83);
margin: 50px 0 0;
padding: 8px 15px;
}

Abecause_certainlyn a.pembarra_sedogzam:hover {
box-shadow: 0 0 6px #f9ecec;
}

Abecause_certainlyn:hover img {
-ms-transform: scale(1.3);
-webkit-transform: scale(1.3);
transform: scale(1.3);
}

Abecause_certainlyn:hover .easytuni_cigaretolsag {
opacity: 1;
filter: alpha(opacity=100);
}

Abecause_certainlyn:hover h2,.abecause_certainlyn:hover a.pembarra_sedogzam {
opacity: 1;
filter: alpha(opacity=100);
-ms-transform: translatey(0);
-webkit-transform: translatey(0);
transform: translatey(0);
}

Abecause_certainlyn:hover a.pembarra_sedogzam {
-webkit-transition-delay: .2.1s;
transition-delay: .2.1s;
}


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

По умолчанию:

Это когда навели курсор:

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

В данном видео разберем эффект анимированного затемнения картинки на чистом CSS .при наведении на блок с картинкой появляется текст, а задний фон с изображением затемняется.

В уроке задействуем:

  • псевдоклассы :before и : after ;
  • используем пересечение цветов при помощи mix-blend-mode: darken;
  • для анимации воспользуемся transform и transition .

HTML структура кода

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

Скачать архив с урока - Анимация при наведении

Скачивайте архив, распакуйте у себя на компьютере. В нем предварительный каркас html и css файлов, перекиньте их в свою среду разработки, откройте html файл и опишем в нем блок с картинкой.

Между тегами

, пишем, блок div с классом .dws-wrapper (это будет оберткой ), затем ссылка . в ней размещаем картинку, а за ней новый блок с классом .dws-text где будет располагаться текст. Делаем заголовок, параграф,

Div.dws-wrapper>a>img+div.dws-text>h3+p

Жмем применить.

Вставим путь к картинке, и заполним alt .

Пропишем заголовок «Эффект при наведении в CSS3 » и вставим в параграф текст «При помощи CSS3 можно творить свою магию. Следи за нами и подписывайся на канал DWS TV ».

Описываем стили в CSS

Обертке присвоим outline в 1 пик. что бы могли отслеживать размеры блока. Затем зададим фиксированную ширину в 350px. Отцентрируем блок по середине и зададим отступ с верху в 200px.

Затем что бы отцентровать картинку и вписать ее в блок задаем ширину картинке в 100%.

Dws-wrapper a img{ width: 100%; }

Позиционируем текст по центру блока при помощи position:absolute; с параметрами выравнивания с верху и лева 0 px.

Dws-text{ position: absolute; top: 0; left: 0; }

Чтобы текст от позиционировался пропишем обертке position: relative; , добавим border: solid 5px rgba(255, 255, 255, 0.8); , background: linear-gradient(20deg, #f00, #00f); , outline уберем.

Dws-wrapper{ width: 350px; margin: 200px auto 0; position: relative; border: solid 5px rgba(255, 255, 255, 0.8); background: linear-gradient(20deg, #f00, #00f); }

Dws-wrapper a{ display: block; color: #fff; text-decoration: none; }

Блоку с текстом добавим отступы padding: 40px 20px; и немного изменим размер шрифта.

Dws-text{ position: absolute; top: 0; left: 0; padding: 40px 20px; } .dws-text h3{ font-size: 25px; } .dws-text p{ font-size: 14px; }

Описываем псевдоклассы :before :after

Dws-wrapper a:before, .dws-wrapper a:after{ content: ""; position: absolute; width: 200%; height: 200%; }

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

Отбираем ссылку с псевдоклассом before и указываем ей right: 0; и bottom: -100%; цвет сделаем с прозрачностью в режиме rgba background: rgba(230, 12, 50, 0.8); и трансформируем блок под небольшим углом transform: skew(-45deg) translateX(100%);

Dws-wrapper a:before{ right: 0; bottom: -100%; background: rgba(230, 12, 50, 0.8); transform: skew(-45deg) translateX(100%); }

Аналогично проделаем для псевдокласса after , заменим координаты, цвет и трансформацию отразим с другой стороны.

Dws-wrapper a:after{ left: 0; top: -100%; background: rgba(11, 72, 174, 0.8); transform: skew(135deg) translateX(-100%); }

Анимируем элементы в CSS

После того как описали стили основной структуры приступаем к анимированию. Придаем пластичность и движение при помощи псевдокласса transition: .5s ease-in-out;

.dws-wrapper a:before, .dws-wrapper a:after{ content: ""; position: absolute; width: 200%; height: 200%; transition: .5s ease-in-out; }

Далее добавляем координаты перемещения псевдоклассу before при наведении на него. Делаем перемещение по оси X в точку 0 при помощи трансформации transform: skew(-45deg) translateX(0%); .

Dws-wrapper:hover a:before{ transform: skew(-45deg) translateX(0%); }

Тоже самое проделываем для псевдокласса after только уже с лева на право transform: skew(135deg) translateX(0%); .

Dws-wrapper:hover a:after{ transform: skew(135deg) translateX(0%); }

Затем основному блоку сделаем overflow: hidden; это позволит скрыть все что выходит за его пределы.

Dws-wrapper{ width: 350px; margin: 200px auto 0; position: relative; border: solid 5px rgba(255, 255, 255, 0.8); background: linear-gradient(20deg, #f00, #00f); overflow: hidden; }

Блок с текстом в начальной точки скроем при помощи opacity: 0; , и сделаем ему z-index в приоритетность 100.

.dws-text{ position: absolute; top: 0; left: 0; padding: 40px 20px; opacity: 0; z-index: 100; }

Описываем ему отображение по наведению при помощи opacity: 1;

Dws-wrapper:hover .dws-text{ opacity: 1; }

Теперь немного анимируем появление текста, при помощи transition: .5s ease;

.dws-text{ position: absolute; top: 0; left: 0; padding: 40px 20px; opacity: 0; z-index: 100; transition: .5s ease; } .dws-wrapper a:before, .dws-wrapper a:after{ content: ""; position: absolute; width: 200%; height: 200%; transition: .5s ease-in-out; mix-blend-mode: darken; }


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