Что такое critical CSS
1️⃣ Как кратко ответить
Critical CSS — это часть CSS, необходимая для рендеринга видимой части веб-страницы. Она загружается и применяется в первую очередь, чтобы ускорить отображение контента для пользователя, минимизируя время до первого отрисованного пикселя.
2️⃣ Подробное объяснение темы
Critical CSS — это концепция, направленная на оптимизацию скорости загрузки веб-страниц. Основная идея заключается в том, чтобы выделить и загрузить только те стили, которые необходимы для отображения видимой части страницы (above-the-fold content), прежде чем загружать остальные стили. Это позволяет пользователю быстрее увидеть содержимое страницы, улучшая пользовательский опыт.
Зачем это нужно
Когда пользователь открывает веб-страницу, браузер загружает HTML и CSS, чтобы отобразить страницу. Если CSS-файлы большие и содержат много стилей, которые не нужны для начального отображения, это может замедлить процесс рендеринга. Critical CSS помогает решить эту проблему, позволяя браузеру быстрее отобразить видимую часть страницы.
Как это работает
-
Выделение критических стилей: Определите, какие стили необходимы для отображения видимой части страницы. Это можно сделать вручную или с помощью инструментов автоматизации.
-
Встраивание критических стилей: Вставьте выделенные стили непосредственно в
<head>HTML-документа. Это позволяет браузеру применить их сразу же, без необходимости загружать внешний CSS-файл. -
Асинхронная загрузка остальных стилей: Остальные стили загружаются асинхронно, чтобы не блокировать рендеринг страницы.
Пример
Рассмотрим пример HTML-документа с использованием critical CSS:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Example Page</title>
<!-- Встраивание критических стилей -->
<style>
/* Critical CSS */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: #4CAF50;
color: white;
text-align: center;
padding: 10px;
}
</style>
<!-- Асинхронная загрузка остальных стилей -->
<link rel="stylesheet" href="styles.css" media="print" onload="this.media='all'">
<noscript><link rel="stylesheet" href="styles.css"></noscript>
</head>
<body>
<header>
<h1>Welcome to My Website</h1>
</header>
<main>
<p>This is the main content of the page.</p>
</main>
</body>
</html>
-
Встраивание критических стилей: Внутри тега
<style>в<head>мы определяем стили, которые необходимы для отображения заголовка страницы. Это позволяет браузеру сразу применить их, не дожидаясь загрузки внешнего CSS-файла. -
Асинхронная загрузка остальных стилей: Внешний CSS-файл
styles.cssзагружается асинхронно с помощью атрибутаmedia="print"иonload="this.media='all'". Это позволяет сначала загрузить и применить критические стили, а затем загрузить остальные стили без блокировки рендеринга.
Critical CSS — это важная техника для оптимизации производительности веб-страниц, особенно на мобильных устройствах и при медленном интернет-соединении. Она помогает улучшить время загрузки и восприятие скорости работы сайта пользователем.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться