Збільшуються фонові зображення

Нещодавно я працював над сайтом клієнта, і він попросив мене створити такий ефект. Даний ефект дуже часто використовується на сайтах-портфоліо, де сайт повинен показувати візуальну і інформаційну складові. Існує багато різних методів. Раніше я ніколи щось подібне не робив. Я почав розбиратися і знайшов кілька різних методів.

Перший спосіб передбачав використання jQuery плагіна. Не зовсім той ефект, який я шукав. Крім того, плагін багато важить.

Інший спосіб був - помістити тег img в контейнер і маніпулювати зображенням за допомогою CSS. Тут є свої плюси: можна задати джерело за допомогою атрибута srcset, щоб довантажувати відповідне зображення під конкретний пристрій.
У моєму випадку я хотів керувати ефектом зуму повністю через CSS, тому я вибрав другий спосіб.

базовий функціонал

Для досягнення оптимальної продуктивності я вирішив використовувати властивість transform для збільшення зображення. Таким чином, ми отримуємо CSS анімацію з апаратним прискоренням, що робить її більш плавною.

Збільшуються фонові зображення

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

Навчіться з нуля верстати адаптивні Лендінзі на HTML5 та CSS3 за найближчі 6 днів

Замість тега img я взяв тег div і помістив його в контейнер. Даний блок повинен був імітувати роботу тега img. структура:

По-перше, необхідно задати розміри батьківського елемента. Дочірні елементи можуть заповнити батьківський блок за допомогою властивостей width: 100% і height: 100% ;. Також необхідно задати фонове зображення, яке буде закривати 100% блоку.

Потім ми додаємо ефект hover на батьківський блок. Даний ефект буде впливати на дочірній елемент. Псевдоклас focus добре підходить для доступності:

Для максимальної підтримки в браузерах можна скористатися спеціальним інструментом для додавання Вендорний префіксів. Закінчуючи наш базовий ефект, можна додати трохи плавних переходів для нормального стану дочірнього елемента:

Для додавання перекриває шару з певним кольором можна використовувати псевдоелементи типу. before:

Якщо тепер навести курсор на батьківський блок, поверх дочірнього елемента повинен з'явитися кольоровий шар! І нарешті, ми розглянемо, як додати текст на перекриває шар. У наш дочірній блок можна додати новий елемент:

Тегу span можна задати пару стилів:

Текст з'явиться тільки при наведенні курсору на блок .parent:

Підтримка на мобільних пристроях

Якщо контейнери зроблені у вигляді посилань, і стан hover не несе в собі корисної інформації, можна все залишити прямо так.

Редакція: Dylan Winn-Brown

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

Збільшуються фонові зображення

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

Навчіться з нуля верстати адаптивні Лендінзі на HTML5 та CSS3 за найближчі 6 днів

Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі

Збільшуються фонові зображення

Практика HTML5 та CSS3 з нуля до результату!

Схожі статті