Псевдоэлементы — это селекторы CSS, которые используются для вставки искусственного или декоративного содержимого и для стилизации определённых частей элемента. webformyself.com Для создания пользовательских анимаций и переходов на сайте можно применять, например, псевдоэлементы ::before и ::after. habr.com webformyself.com
Псевдоэлемент ::before вставляет содержимое перед элементом. habr.com webformyself.com Псевдоэлемент ::after — после элемента. habr.com webformyself.com
Чтобы создать анимацию с псевдоэлементами, можно следовать такому алгоритму: habr.com
- Создать псевдоэлемент с пустым свойством content, то есть внутри ничего нет. habr.com
- Установить позиционирование со значением absolute, что удаляет элемент из обычного потока документов и позволяет перекрыть кнопку. habr.com webformyself.com
- Установить координаты top и left равными нулю, чтобы пустой псевдоэлемент прикрепился к кнопке именно в этих местах. habr.com webformyself.com
- Установить ширину и высоту пустого элемента равными 100% родительского элемента — кнопки. habr.com webformyself.com
- Перекрасить фон псевдоэлемента в цвет кнопки и ещё раз добавить секундный переход. habr.com webformyself.com
- Использовать z-index, чтобы изменить контекст наложения и расположить псевдоэлемент за кнопкой. habr.com webformyself.com
- Анимировать псевдоэлемент, чтобы он возвращался в исходное положение, когда пользователь наводит курсор на кнопку. habr.com Для этого можно использовать псевдокласс :hover. habr.com
- Применить overflow: hidden к кнопке, чтобы скрыть любой элемент, выходящий за пределы контейнера. habr.com
Некоторые примеры использования псевдоэлементов для создания анимаций и переходов:
- Explosive text effect. proglib.io Имитирует взрывной эффект при наведении курсора на элемент интерфейса. proglib.io
- Text underline. proglib.io Анимация, при которой текст визуально «оживает» при наведении курсора, получая выразительные подчёркивания как сверху, так и снизу. proglib.io
- Dropdown menu. proglib.io Реализует плавное появление выпадающего меню при взаимодействии с управляющей кнопкой. proglib.io
- Double-sided card. proglib.io Воплощает реалистичную 3D-анимацию перелистывания карты, которая захватывает внимание пользователя. proglib.io