CSS эффект потери фокуса и наоборот

CSS эффект потери фокуса и наоборот

CSS эффект потери фокуса и наоборот

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

Это выглядит так:

CSS эффект потери фокуса и наоборот

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

При наведении курсора:

CSS эффект потери фокуса и наоборот

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». вы найдете все необходимые примеры и уроки.

Источник