CSS эффект потери фокуса и наоборот
Весь эффект с фокусом строится на манипуляциях с фильтром blur. Когда пользователь открывает страницу, то видит размытый фон и четкий заголовок.
Это выглядит так:
Но как только он наводит курсор на любое место, все сразу меняется. Изображение становится резким, а текст наоборот размытым.
При наведении курсора:
HTML код
У нас есть большая картинка, занимающая всю область видимости экрана и заголовок.
<section>
<h2>Focus</h2>
<img src="bg.jpg">
</section>
CSS код
Фокусирование идет на ягодах и крупном заголовке. Поэтому увеличим визуально данную область.
@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');
*{
margin: 0; / * обнуление отступов * /
padding: 0; / * обнуление полей * /
box-sizing: border-box; / * на размер элемента не влияют рамки отступы * /
font-family: 'Poppins', sans-serif; / * название шрифта * /
}
section{
position: relative; / * относительное позиционирование * /
width: 100%; / * картинка занимает всю ширину секции * /
height: 100vh; / * картинка на всю высоту * /
overflow: hidden; / * скрывать переполненность * /
display: flex; / * отображать как гибкий контейнер * /
justify-content: center; / * заголовок в центре по горизонтали * /
align-items: center; / * заголовок в центре по вертикали * /
background: url(bg.jpg); / * установка фоновой картинки * /
}
h2{
position: relative; / * относительное позиционирование * /
color: #fff; / * цвет шрифта * /
font-size: 12em; / * размер шрифта * /
text-transform: uppercase;/ * заглавные буквы * /
text-shadow: 0 5px 25px rgba(0,0,0,0.2); / * тень у текста * /
font-weight: 800; / * значение жирности текста * /
z-index: 2; / * заголовок на верхнем слое * /
transition: 2s; / * плавный переход * /
}
img{
position: absolute; / * абсолютное позиционирование * /
top: -20%; / * значение сверху * /
left: -20%; / * значение слева * /
width: 140%; / * увеличение ширины * /
height: 140%; / * увеличение высоты * /
pointer-events: none;/ * курсор рука * /
filter: blur(10px); / * размытие фона * /
transition: 2s; / * плавный переход * /
}
При наведении текст размывается и увеличивается, а картинка визуально уменьшается, как бы ловит на себе фокус.
h2:hover{
filter: blur(10px); / * размытие фона * /
transform: scale(1.2); / * увеличение текста * /
}
/ * обнуление всех свойств связанных с фокусированием * /
h2:hover ~ img{
top: 0%;
left: 0%;
width: 100%;
height: 100%;
filter: blur(0px);
}
С уверенными знаниями CSS & HTML-свойств вы быстро научитесь верстать макеты. В моем видеокурсе "Верстка сайта с нуля 2.0". вы найдете все необходимые примеры и уроки.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.