#вопрос
У меня книжка по оптмизации 2017-го года.
Там сказано, что после получения html браузер сделает запрос на CSS. И пока он его не получит, отображение чего-либо блокируется. Это логично: браузеру нужно что-то рисовать, но он не знает, что именно. Чтобы такого не происходило можно сделать critical CSS. Это один из вариантов решения проблемы.
Вот статья на эту тему:
https://medium.com/web-standards/critical-css-39e479af038eИтак, для расположенного над сгибом контента надо заинлайнить CSS. Теперь браузер знает, что ему отрисовать, и не будет ждать, а сразу начнет отрсовку. Таким образом, блокировки мы избегаем (экономим время на раундтрип и передачу данных) - условно - 100 миллисекунд. Звучит заманчиво.
Я попробовал: сделал тысячу пагаргафов. Вверху один абзац выделен красным. А внизу один абзац - зеленым.
[url]
http://h105667446.nichost.ru/critical/[/url][url]
http://h105667446.nichost.ru/ordinary/[/url]И сделал замеры скорости:
[url]
https://www.webpagetest.org/result/210512_AiDc76_eae2452a3ef7f74b1f195634ca843f7b/1/details/#waterfall_view_step1[/url][url]
https://www.webpagetest.org/result/210512_BiDcX3_dde4a31fece241b674582612f38aed87/1/details/#waterfall_view_step1[/url]Проблема в том, что я не вижу разницы: в обоих случаях в момент начала рендинга у браузера уже был CSS.
Может, я неправильно сделал critical css? Я браузеру сказал: вот про класс .red тебе в critical css. А про остальное браузер не узнал. Т.е. он не узнал ни про шрифт, ни про цвет фона. И не мог начать отрисовку быстрее.
Да, но я попробовал еще инструментом вычленять критикал CSS - он получается только про красный цвет. Так что он должен был отрисовывать.
В общем, был бы очень признателен за комментарий. И подскажите, пожалуйста. как мне critical css переписать так, чтобы был рендеринг сразу, не дожидаясь получения CSS,