Этот вопрос проверяет понимание метрики Cumulative Layout Shift (CLS), которая измеряет визуальную стабильность веб-страницы и важна для оценки пользовательского опыта.
Cumulative Layout Shift (CLS) — это одна из трех основных метрик Web Vitals, которая оценивает визуальную стабильность веб-страницы. Она измеряет, насколько часто и с какой амплитудой элементы интерфейса неожиданно смещаются в процессе загрузки страницы. Низкий CLS означает, что пользователь видит стабильный контент, а высокий — что элементы «прыгают», что может вызывать раздражение и ошибки взаимодействия.
CLS вычисляется как сумма всех неожиданных смещений видимых элементов. Для каждого смещения рассчитывается score = impact fraction * distance fraction. Impact fraction — это доля области просмотра, затронутая смещением, а distance fraction — расстояние, на которое сместился элемент, относительно области просмотра. Итоговый CLS — это сумма всех таких score за время жизни страницы.
Основные причины высокого CLS:
Рассмотрим 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
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию