Плохая анимация в CSS. Топ примеров
- 27 апреля 2023
Вообще-то, анимация на сайте — это хорошо. Даже в 2002 году на сайте башкирской федерации настольного тенниса уже была анимированная бегущая строка — смотрите сами:
Шутки шутками, но маленькие приятные анимации делают сайт живее и помогают показать всякое, а какие-нибудь рекламные страницы без анимации вообще представить тяжело. Вам сейчас точно такая пришла в голову: вы мотаете вверх-вниз, а что-то крутится, вертится и схлопывается с красивым фоном. Вот это как раз оно.
Но иногда анимация делает только хуже. Смотрите, когда это происходит.
Дисклеймер: ради этой статьи нам пришлось отключить адблок. Не повторяйте этого дома.
С анимациями сайт медленно грузится
Ну логично же, да?
Первое, что приходит на ум — анимации по-настоящему тяжёлые. Например, какой-нибудь видеофон — это просто много-много склеенных друг с другом фотографий. Такое не может весить мало (вспомните свой айфончик, в котором постоянно кончается место из-за снятых сториз). С CSS-анимациями или SVG-анимациями всё получше, но тем не менее — если для загрузки одной небольшой анимашки вам нужна целая огромная библиотека, подумайте дважды.
❌ Плохой пример: использование анимированных прелоадеров или экранов загрузки с тяжёлыми анимациями. Или если весь ваш сайт — сплошная анимация. Лучше так не делать, кроме случаев, когда вы какое-нибудь креативное агентство, а ваш сайт номинируется на iF Design Awards. Лучше…
✔️ найдите или запрограммируйте лёгкие прелоадеры, которые не замедляют загрузку страницы, а пользователь с ними всё равно понимает, что происходит.
Анимация мешает смотреть и читать
Работаете, никого не трогаете, а тут ррраз — выплыла реклама лучших ботинок в вашем городе, да ещё и с видео и летающими курицами. Здесь хоть анимируй, хоть не анимируй, пользователь не доберётся до контента и уйдёт.
❌ Плохо: на сайте есть анимация всплывающих окон, рекламных баннеров или фоновых видео, которые привлекают внимание пользователя, отвлекая его от основного контента сайта.
✔️ Хорошо: умеренная анимация отдельных важных элементов, например, кнопок call-to-action (CTA), которые привлекают внимание, но не отвлекают пользователя от основного контента.
Анимация всё усложняет
Если всё просто без причины трясётся, мельтешит и переезжает с одного места на другое, то и пользователю ничего не мешает уйти с сайта просто так. Крестик на вкладке-то не двигается :)
❌ Плохо: анимация кнопок, меню или других интерактивных элементов, которая мешает понять, что происходит на экране или какой элемент активен в данный момент.
✔️ Хорошо: использование плавных анимаций для интерактивных элементов, таких как кнопки или меню, которые делают интерфейс проще и понятнее.
Излишняя анимация
❌ Плохо: использование слишком много анимаций, не связанных с тем, что написано на странице. Это может привести к перегрузке визуальной информации и усложнить восприятие контента. Вот смотрите:
✔️ Хорошо: использование анимации только там, где это улучшает UX и помогает пользователю. Например, плавные переходы между разделами сайта или акцентирование ключевых элементов.
Анимация вызывает дискомфорт
❌ Плохо: анимация с быстрыми или резкими движениями, которые могут вызывать у пользователей головокружение, укачивание или дискомфорт. Помните, была история про серию «Покемонов», которую запретили из-за риска эпилепсии? Мы не будем её показывать, но поверьте на слово.
Вызывать дискомфорт могут разные анимации. Чаще всего они характеризуются быстрыми, резкими движениями или мигающими элементами. Это может быть, например, фоновое видео или анимация на сайте с быстрыми, резкими сменами кадров или мигающими объектами. Это может вызвать головокружение, укачивание или дискомфорт у пользователей, особенно у тех, кто подвержен проблемам со зрением, мигрени или эпилепсии.
Чтобы не делать такие анимации, соблюдайте правила:
✔️ Хорошо:
- Используйте плавные, медленные анимации без переходов.
- Избегайте мигающих или быстро движущихся элементов, которые могут вызвать дискомфорт.
- Разрешите отключать анимацию или предоставьте альтернативный способ представления информации.
Анимация мешает доступности сайта
Доступность — это важно. Сайты (да и любые цифровые сервисы) должны быть доступны всем пользователям, и мы можем этому или помочь, или помешать с неподходящими анимациями.
❌ Плохо: использование анимации для обозначения важных элементов, но без альтернативного способа их восприятия для пользователей с ограниченными возможностями, например, для людей с нарушениями зрения.
Допустим, на сайте есть важная кнопка call-to-action (CTA), которая анимирована для привлечения внимания пользователей. Если у неё нет описания или контрастного цвета, некоторым пользователям (например, с нарушениями зрения) будет тяжеловато понять, что там вообще происходит. Поэтому нужны альтернативы:
- Использование контрастных цветов для обозначения важных элементов, чтобы пользователи с нарушениями зрения могли легко их различать.
- Добавление текстовых описаний или подписей к анимированным элементам, чтобы читалки экрана могли корректно их обработать и передать информацию пользователям с нарушениями зрения.
- Обеспечение возможности отключения анимаций или предоставление альтернативного способа представления информации для пользователей, которым анимация может вызывать дискомфорт или проблемы с восприятием.
✔️ Хорошо: использование анимации для обозначения важных элементов с альтернативными способами их восприятия для пользователей с ограниченными возможностями, например, сопровождение анимации аудио- или текстовым описанием.
Да что там говорить. Знайте меру — в том числе и в анимациях — и тогда всё будет хорошо.
🐈
Материалы по теме
- 10 библиотек для CSS и JS-анимации — подборка проверенных библиотечек
- 10 видов микроанимаций — подборка микроанимаций с CodePen
- Зачем нужны анимации в вебе и как их создавать
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше

CSS-селекторы. Шпаргалка для новичков
Селекторы — это шаблоны, которые используются для привязки стилевых свойств к элементам в документе. Вы можете задать стиль для всех элементов или сократить выбор с помощью определённого селектора.
- 8 августа 2025

Всё самое важное о псевдоклассе :default
Псевдокласс :default
— это способ стилизации элемента формы, выбранного по умолчанию. Он особенно полезен при работе с группами радиокнопок, чекбоксов или выпадающих списков, где важно визуально выделить стартовый (предустановленный) вариант. Такой подход делает интерфейс понятнее и помогает пользователю быстрее ориентироваться в выборе.
Доступно в Baseline в статусе «Widely Available» с 2022-07-15
- 4 августа 2025

Как работает единица измерения em в CSS
Единица em
используется в CSS для задания относительных размеров, которые зависят от шрифта родительского или текущего элемента. Это делает верстку гибкой и адаптивной: если пользователь увеличит базовый размер текста, элементы тоже изменятся.
Доступно в Baseline в статусе «Widely Available» с 2018-01-29
- 30 июля 2025

Как найти пустые элементы в CSS
Псевдокласс :empty
помогает находить пустые HTML-элементы, чтобы применять к ним стили или скрывать их. Это удобно для автоматической очистки интерфейса и улучшения UX без дополнительных классов или JavaScript.
- 29 июля 2025

Как работает ::first-line — оформление первой строки текста в CSS
Псевдоэлемент ::first-line
позволяет задать особое оформление только для первой строки текста внутри элемента. Это полезно, когда нужно визуально выделить начало абзаца — например, сделать первую строку жирной, изменить цвет или стиль шрифта. Такой приём часто используют в типографике и веб-дизайне, чтобы направить внимание читателя.
Этот псевдоэлемент находится в Baseline в статусе «Widely Available» с 2018-01-29
Как использовать: first-line
🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.
Псевдоэлемент добавляется к селектору через ::
, и внутри блока задаются стили, которые применятся только к первой строке, как она отображается в браузере:
p::first-line {
font-weight: bold;
color: red;
}
Этот стиль сделает только первую строку текста в каждом абзаце <p>
красной и жирной. Важно: то, где заканчивается строка, зависит от ширины контейнера и размера шрифта, а не от переносов в HTML.
Какие свойства работают
Псевдоэлемент ::first-line
не поддерживает любые стили. Он ограничен только теми, что могут визуально применяться к строке текста:
Поддерживаются:
color
font
и его производные (font-size
,font-weight
,font-style
,font-variant
)letter-spacing
,word-spacing
line-height
text-decoration
text-transform
vertical-align
background
margin-left
иmargin-right
padding-left
иpadding-right
border-left
иborder-right
Не поддерживаются:
display
,position
,transform
,width
,height
и другие «структурные» свойства.
Это сделано, чтобы не нарушать верстку и избежать проблем с потоком документа.
Пример с цитатой
<blockquote>
Когда вы начнёте, главное — не останавливаться.
</blockquote>
blockquote::first-line {
text-transform: uppercase;
letter-spacing: 2px;
}
Здесь первая строка цитаты будет написана ПРОПИСНЫМИ буквами с увеличенным расстоянием между символами. Это создаёт акцент и улучшает читаемость начала мысли.
Советы по использованию
- Используйте
::first-line
для декоративных акцентов: начало статьи, цитаты, описание карточки. - Старайтесь не задавать свойства, которые не поддерживаются — они просто игнорируются.
- Не используйте псевдоэлемент для логических операций — он только визуальный.
- Не забывайте про адаптивность: на разных экранах «первая строка» может меняться.
Поддержка
Псевдоэлемент ::first-line
поддерживается во всех современных браузерах, включая Chrome, Firefox, Safari, Edge. Работает на блоковых и строчно-блочных элементах (display: block
, inline-block
, inline
).
Заключение
::first-line
— это простой и эффективный инструмент, который помогает сделать текст живым и выразительным. Он особенно полезен для визуального оформления абзацев, заголовков, описаний, не вмешиваясь в HTML-структуру. Даже пара свойств может кардинально изменить восприятие контента.
Больше обзоров веб-функций — в телеграм-канале HTML Academy.
Нашли ошибку или опечатку? Напишите нам.
- 27 июля 2025

CSS-счётчики: как работает свойство counter-set
counter-set
— это новое CSS-свойство, с помощью которого можно явно установить значение счётчика в нужный момент. Оно похоже на counter-reset
, но отличается тем, что не сбрасывает счётчик, а просто присваивает ему конкретное значение. Это даёт больше контроля над нумерацией, особенно когда нужно продолжить счёт или задать его вручную в разных частях документа.
CSS-счётчики — это способ автоматически нумеровать элементы, например заголовки, пункты списка, шаги в инструкции. Их можно комбинировать с псевдоэлементами и свойством content
, чтобы вставлять числа прямо в текст.
- 25 июля 2025

Как работает :not() в CSS — исключаем элементы из стилей правильно
Доступно в Baseline в статусе «Widely Available» с 2023-07-21
Псевдокласс :not()
позволяет задать стили для всех элементов, кроме тех, что соответствуют определённому селектору. Это мощный инструмент, который делает CSS гибче, чище и избавляет от необходимости писать сложные конструкции или добавлять лишние классы в HTML.
- 20 июля 2025

Выбор цветов в CSS через hsl() и hsla()
CSS-функции hsl()
и hsla()
позволяют задавать цвета на основе восприятия человеком, а не машинной модели RGB. Это делает работу с цветами более гибкой и наглядной, особенно при создании адаптивных интерфейсов, тёмных тем или анимаций.
- 18 июля 2025

Как перекрыть один элемент другим. CSS-свойство z-index
Свойство z-index
в CSS отвечает за порядок наложения элементов на веб-странице. Оно определяет, какой элемент окажется сверху, а какой — будет скрыт под ним. Чем выше значение z-index
, тем ближе к пользователю расположен элемент.
- 16 июля 2025

Единица измерения cap в CSS
С 11 декабря 2023 года (Baseline: Newly Available) в CSS появилась новая единица измерения — cap
. Она измеряет высоту заглавной латинской буквы в шрифте, установленном для элемента. Это значит, что теперь можно задавать размеры, отступы и позиционирование элементов не только в пикселях, em
или rem
, но и относительно визуальной высоты заглавных букв.
Эта единица особенно полезна при работе с крупными заголовками, адаптивной типографикой и точным выравниванием текста.
- 8 июля 2025