Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про HTML: Cumulative Layout Shift, CLS, Web Vitals, performance, layout shift

Что такое Cumulative Layout Shift (CLS)?

Этот вопрос проверяет понимание метрики Cumulative Layout Shift (CLS), которая измеряет визуальную стабильность веб-страницы и важна для оценки пользовательского опыта.

Короткий ответ

Cumulative Layout Shift (CLS) — это метрика, которая измеряет, насколько часто и сильно элементы на странице неожиданно смещаются во время загрузки. Высокий CLS ухудшает пользовательский опыт, так как пользователь может случайно нажать не на ту кнопку или потерять контекст чтения. CLS вычисляется как сумма всех неожиданных смещений видимых элементов, умноженных на их долю в области просмотра.

Длинный ответ

Что такое Cumulative Layout Shift (CLS)?

Cumulative Layout Shift (CLS) — это одна из трех основных метрик Web Vitals, которая оценивает визуальную стабильность веб-страницы. Она измеряет, насколько часто и с какой амплитудой элементы интерфейса неожиданно смещаются в процессе загрузки страницы. Низкий CLS означает, что пользователь видит стабильный контент, а высокий — что элементы «прыгают», что может вызывать раздражение и ошибки взаимодействия.

Как рассчитывается CLS?

CLS вычисляется как сумма всех неожиданных смещений видимых элементов. Для каждого смещения рассчитывается score = impact fraction * distance fraction. Impact fraction — это доля области просмотра, затронутая смещением, а distance fraction — расстояние, на которое сместился элемент, относительно области просмотра. Итоговый CLS — это сумма всех таких score за время жизни страницы.

Примеры и причины высокого CLS

Основные причины высокого CLS:

  • Изображения и видео без явно заданных размеров (width/height).
  • Динамически загружаемые шрифты, которые меняют размер текста.
  • Рекламные блоки, которые вставляются после загрузки основного контента.
  • Анимации, которые изменяют положение элементов.

Практический пример

Рассмотрим HTML-код, который вызывает смещение:

<div>
  <img src="image.jpg" alt="Example">
  <p>Some text</p>
</div>

Если у изображения не заданы размеры, браузер сначала отобразит текст, а затем, когда изображение загрузится, текст сместится вниз. Чтобы избежать этого, нужно явно указать размеры:

<div>
  <img src="image.jpg" alt="Example" width="400" height="300">
  <p>Some text</p>
</div>

Или использовать CSS-контейнеры с фиксированным соотношением сторон.

Вывод

CLS — важная метрика для обеспечения комфортного пользовательского опыта. Её следует оптимизировать, особенно на страницах с динамическим контентом, изображениями и рекламой. Рекомендуется всегда задавать размеры медиа-элементов и избегать вставки контента после загрузки основного макета.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • HTML

    HTML

  • CSS

    CSS

Ключевые слова

#Cumulative Layout Shift

#CLS

#Web Vitals

#performance

#layout shift

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию