Креативный эффект при наведении на изображения. Часть 2
На данный момент у нас есть три превью-картинки, при наведении на которые пока ничего не происходит. По задумке, при наведении на урезанную версию картинки, она должна растянутся на весь контейнер. Кроме того, поверх картинки появится контент: название поста и краткое его описание.
Добавление в HTML-разметку контента
<div class="container">
<div class="clip clip1">
<div class="content">
<h2>Post Title One</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna.</p>
</div>
</div>
<div class="clip clip2">
<div class="content">
<h2>Post Title Two</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</div>
<div class="clip clip3">
<div class="content">
<h2>Post Title Three</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</div>
Стилизация контента
.clip .content{
position: absolute;/*абсолютное позиционирование*/
bottom: -100%;/*позиционирование контента не в поле зрения*/
left: 0;/*прибить контент к левой стороне контейнера*/
width: 70%; /*занимаемая ширина контента от ширины контейнера*/
padding: 20px;/*поля между текстом и краями белого блока*/
background: #fff;
opacity: 0;/*элемент полностью прозрачный*/
transition: 0.5s;/*плавный переход*/
}
Hover-эффект
При наведении превью-картинка занимает собою весь контейнер и внизу появляется текстовый контент. CSS свойство вырезает фигуры из заданных геометрических фигур (круг, многоугольник) по указанным вами значениям в скобках. При наведении мышкой на изображение вместо старой фигуры рисуется новая и в этот момент получается неожиданный эффект.
.container:hover .clip{
clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);/*значения меняющие фигуру*/
}
.container .clip:hover{
transition-delay: 0.5s;/*задержка для hover*/
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.clip:hover .content{
bottom: 0;/*показывать контент при наведении*/
opacity: 1;/*полная непрозрачность элемента*/
transition-delay: 0.5s;
}
Новички часто спрашивают: C чего начать изучение фронтенда? Я всегда рекомендую идти от простого к сложному и сначала освоить все базовые возможности HTML и CSS, по моему видеокурсу "Верстка сайта с нуля 2.0".
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.