Выбор ответа Middle Что происходит при вводе адреса обновлено

Почему CSS блокирует рендер

Вопрос

Почему <link rel="stylesheet"> в <head> задерживает первую отрисовку страницы?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Без CSSOM не построить render tree, и браузер ждёт, чтобы не мигнуть без стилей. Render tree собирается из DOM и CSSOM, поэтому до загрузки стилей браузер не рисует, иначе пользователь увидел бы вспышку нестилизованного контента.

Варианты ответа

  1. Он останавливает парсинг HTML так же, как обычный синхронный script, до загрузки
  2. Браузер начинает грузить CSS только после того, как отрисует страницу без стилей
  3. Без CSSOM не построить render tree, и браузер ждёт, чтобы не мигнуть без стилейправильный ответ
  4. CSS грузится строго после всех картинок страницы, потому что у него низкий приоритет

Разбор

Render tree собирается из DOM и CSSOM, поэтому до загрузки стилей браузер не рисует, иначе пользователь увидел бы вспышку нестилизованного контента. При этом парсинг HTML стили сами по себе не останавливают (хотя скрипт после стилей будет ждать CSSOM). CSS грузится с высоким приоритетом, раньше картинок, а не после отрисовки.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.