Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: css, lazy loading, javascript, html

Какие техники используются для критического CSS и ленивой загрузки стилей?

Этот вопрос помогает проверить знание техники ускорения рендеринга страниц за счет правильного подхода к подключению стилей.

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

Критический CSS — это набор стилей, необходимых для первоначального отображения страницы, которые встраиваются в HTML, чтобы избежать задержки загрузки. Оставшиеся стили загружаются асинхронно. Ленивая загрузка стилей включает использование JavaScript для динамического подключения или загрузки CSS по условию, что позволяет загружать стили по мере необходимости.

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

Критический CSS включает стили, необходимые для отображения контента, находящегося "выше сгиба" (above the fold), и встраивается непосредственно в HTML-документ, чтобы ускорить первую отрисовку. 

После этого оставшиеся стили можно загружать асинхронно, используя атрибуты rel="preload" или media="print" с последующим изменением на media="all", чтобы отложить их применение до загрузки страницы. Это предотвращает блокировку отрисовки основной страницы, а после полной загрузки позволяет сделать стили активными для всех устройств.

Ленивая загрузка стилей позволяет подключать CSS-файлы по мере необходимости: например, с помощью JavaScript для загрузки стилей при скроллинге к определенной секции или используя атрибут media для подключения стилей при выполнении заданного условия. 

Также можно применять сборщики и инструменты, такие как Webpack и critical, которые автоматически выделяют критические стили и упрощают процесс оптимизации.

Пример использования ленивой загрузки:

<link rel="stylesheet" href="styles.css" media="print" onload="this.media='all'">

В этом примере стили загружаются асинхронно, так как media="print" изначально предотвращает их применение к экранному отображению. После загрузки атрибут изменяется на media="all", и стили начинают применяться ко всем типам устройств.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    10

Навыки

  • JavaScript

    JavaScript

  • HTML

    HTML

  • CSS

    CSS

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

#css

#lazy loading

#javascript

#html

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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