Этот веб-сайт использует файлы cookie для Google Analytics.

В соответствии с законом о конфиденциальности вы не можете использовать этот веб-сайт без согласия на использование этих файлов cookie.

Посмотреть политику конфиденциальности

Принимая, вы даете согласие на отслеживание файлов cookie Google Analytics. Вы можете отменить это согласие, очистив файлы cookie в своем браузере.

Критический генератор CSS

Бесплатный виджет для браузера для расширенного критического генератора CSS и оперативного оптимизатора .

Оптимизатор верхней части страницы

Критический генератор CSS и оптимизатор верхней части страницы Критический генератор CSS и оптимизатор верхней части страницы


Введение

Генератор критического CSS позволяет устранить штрафы за неиспользованный CSS в Google Core Web Vitals исключительно на основе минимального CSS. Это позволяет добиться идеального до пикселя результата .

Наилучший критический результат CSS достигается в реальном браузере.

Виджет браузера выполняется на странице, на которой должен быть извлечен критический CSS, и поэтому имеет полный собственный доступ к исходной среде CSS.

Вы можете выбрать таблицы стилей или встроенные элементы таблицы стилей, из которых нужно извлечь важные CSS. Это удобно для создания критически важного CSS, который можно использовать на разных страницах.

Виджет браузера также имеет функцию удаления критического CSS из таблиц стилей.

Инструмент не содержит шпионов. Нет Google Analytics или отслеживания. Безопасен в использовании и может использоваться локально через кеш Service Worker.

Виджет браузера представляет собой пример более совершенного критического программного обеспечения CSS, которое можно использовать через браузер Chrome в Google Cloud. Дополнительную информацию см. в нашем профессиональном плагине оптимизации .


Установить

Чтобы установить виджет, перетащите эту ссылку🗔 Критический CSS на панель избранного или скопируйте и вставьте код ниже.

add widget to bookmarks
Необязательный Разрешите Service Worker и Cache-API для защищенного домена Google CDN x.pagespeed.pro сохранять настройки в разных доменах и использовать виджет в автономном режиме или на localhost .

Функции

  1. Усовершенствованный критический генератор CSS

    1. Специально разработан на основе PostCSS , одного из лучших парсеров CSS.
    2. Поддерживает несколько окон просмотра (настольный компьютер + мобильный телефон) для отзывчивого критически важного CSS .
    3. Puppeteer, как управление браузером, включая щелчок, события мыши (наведение, перемещение и т. д.), прокрутку, выполнение пользовательского кода javascript и многое другое.
    4. Необработанный неоптимизированный чистый критический вывод CSS.
  2. Оптимизатор верхней части страницы

    1. Сравните критический CSS с исходным CSS.
    2. Настраиваемые линейки измерения пикселей.
  3. Расширенные инструменты оптимизации

    1. Неиспользуемый модуль удаления CSS для удаления критического CSS из таблиц стилей.
    2. Профессиональное программное обеспечение для сжатия (минимизации) и оптимизации CSS.
    3. Ремонт сломанного CSS. Инструмент для исправления искаженного CSS.
    4. Автопрефикс. Инструмент для применения префиксов браузера к CSS.
    5. CSS статистика и аналитика.
    6. CSS украсить.
    7. Расширенный CSS-ворс.
    8. Удаление дубликатов CSS.
    9. Расширенный редактор CSS, подключенный к CSS lint, с советами по оптимизации.

Как использовать

Шаг 1: запустите виджет браузера на странице

Перейдите на страницу, для которой вы хотите извлечь критический CSS, и запустите виджет браузера. Нажмите здесь для получения инструкций по установке.

Шаг 2: создайте критический CSS

Доступ к критичному генератору CSS можно получить через вкладку «Инструменты» в заголовке.

Критический генератор CSS и оптимизатор верхней части страницы

Настройте JSON, используя параметры из документации .

Критический генератор CSS и оптимизатор верхней части страницы

Шаг 3: оптимизируйте результат

Вывод критического генератора CSS необработан и требует дальнейшей оптимизации, такой как сжатие.

Критический генератор CSS и оптимизатор верхней части страницы

Кнопка «Оптимизировать» в меню редактора позволяет применить расширенную оптимизацию и сжатие кода.

Критический генератор CSS и оптимизатор верхней части страницы


Документация

Критический генератор CSS

Критический генератор CSS принимает следующие параметры.

Вариант
Описание
Тип
atRulesToKeep
Массив правил CSS @ (строка или регулярное выражение) для принудительного включения в критический CSS.
["media", "charset", "/rule(.*)/i"]
atRulesToRemove
Массив правил CSS @ (строка или регулярное выражение) для принудительного удаления из критического CSS.
["media", "charset", "/rule(.*)/i"]
selectorsToKeep
Массив селекторов CSS (строка или регулярное выражение) для принудительного включения в критический CSS.
[".selector", "/\\.selector(.*)/i"]
selectorsToRemove
Массив селекторов CSS (строка или регулярное выражение) для принудительного удаления из критического CSS.
[".selector", "/\\.selector(.*)/i"]
propertiesToKeep
Массив объявлений CSS (строка или регулярное выражение) для принудительного включения в критический CSS. Чтобы сопоставить значения, используйте массив 2-го уровня со строкой объявления или регулярным выражением в индексе 0 и строкой значения или регулярным выражением в индексе 1.
["-webkit-transition", "/(.*)transition(.*)/i", [ "display", "none" ] ]
propertiesToRemove
Массив объявлений CSS (строка или регулярное выражение) для принудительного удаления из критического CSS. Чтобы сопоставить значения, используйте массив 2-го уровня со строкой объявления или регулярным выражением в индексе 0 и строкой значения или регулярным выражением в индексе 1.
["-webkit-transition", "/(.*)transition(.*)/i", [ "display", "none" ] ]
pseudoSelectorsToKeep
Массив псевдоселекторов CSS (строка или регулярное выражение) для принудительного включения в критический CSS.
[":before", "/:nth-child(.*)/i"]
pseudoSelectorsToRemove
Массив псевдоселекторов CSS (строка или регулярное выражение) для принудительного удаления из критического CSS.
[":before", "/:nth-child(.*)/i"]
maxElementsToCheckPerSelector
Максимальное количество элементов для проверки видимости выше сгиба. Эта настройка может повлиять на скорость генератора.
false or 100
maxEmbeddedBase64Length
Максимальный размер в байтах встроенных изображений в кодировке Base64 для включения в критический CSS.
1000
strictParser
По умолчанию CSS анализируется с помощью отказоустойчивого PostCSS Safe Parser, который автоматически исправляет синтаксические ошибки. Этот параметр позволяет использовать строгий парсер.
true
ui_actions
Массив действий, которые необходимо выполнить с состоянием пользовательского интерфейса, чтобы обнаружить верхний код CSS. См. документацию по действиям пользовательского интерфейса ниже.
[{"viewport":"360x640"}, {"run": true}]

Показать пример конфигурации

Пример конфигурации критического генератора CSS

{
  "atRulesToKeep": [],
  "atRulesToRemove": [],
  "selectorsToKeep": [
    "*",
    "*:before",
    "*:after",
    "html",
    "body"
  ],
  "selectorsToRemove": [
    "/\#C/",
    "/\.chattxt/"
  ],
  "propertiesToKeep": [],
  "propertiesToRemove": [
    "/(.*)transition(.*)/i",
    "cursor",
    "pointer-events",
    "/(-webkit-)?tap-highlight-color/i",
    "/(.*)user-select/i"
  ],
  "pseudoSelectorsToKeep": [
    "::before",
    "::after",
    "::first-letter",
    "::first-line",
    ":before",
    ":after",
    ":first-letter",
    ":first-line",
    ":visited",
    "/:nth-child.*/"
  ],
  "pseudoSelectorsToRemove": [],
  "maxElementsToCheckPerSelector": false,
  "maxEmbeddedBase64Length": 1000,
  "strictParser": false,
  "ui_actions": [
    {
      "viewport": "360x640",
      "notes": "Настройте область просмотра для обнаружения CSS в верхней части страницы."
    },
    {
      "wait": 1000,
      "notes": "Подождите 1000 мс, чтобы область просмотра начала визуализироваться."
    },
    {
      "run": true,
      "notes": "Запустите критический генератор CSS (вычисление CSS в верхней части страницы)."
    },
    {
      "mouseevent": "click",
      "selector": "a.nav-menu",
      "notes": "Запустите новое событие MouseEvent для элемента DOM элемента .nav-menu."
    },
    {
      "wait": 2000
    },
    {
      "run": true
    },
    {
      "script": "close_nav_menu();",
      "notes": "Выполните скрипт, в этом случае закройте меню, прежде чем продолжить работу со следующим окном просмотра."
    },
    {
      "viewport": "1300x900"
    },
    {
      "wait": 1000
    },
    {
      "run": true
    }
  ]
}

Действия пользовательского интерфейса генератора Critical CSS

Критический генератор CSS обеспечивает управление браузером, подобное Puppeteer. Параметр ui_actions принимает массив с объектами действий пользовательского интерфейса, которые определяют изменения состояния пользовательского интерфейса в хронологическом порядке.

run

Запустите критический генератор CSS в текущем состоянии пользовательского интерфейса. Это действие необходимо повторять каждый раз при изменении состояния пользовательского интерфейса, чтобы обнаружить новый код CSS в верхней части страницы.

{
  "run": true
}

wait

Подождите несколько миллисекунд, прежде чем продолжить следующее действие.

{
  "wait": 1000
}

viewport

Установите размер области просмотра.

{
  "viewport": "1300x900"
}

scroll

Прокрутите окно просмотра. Параметр принимает числовое значение (в пикселях сверху), строку в процентах ( 50% ) или массив с позициями [x,y] в пикселях.

{
  "scroll": 400
}

event

Инициировать событие браузера ( new Event() ) в необязательном селекторе DOM.

{
  "event": "click",
  "selector": "a.link"
}

mouseevent

Инициировать событие мыши ( new MouseEvent() ) в необязательном селекторе DOM. Действие принимает параметр mouseEventInit с параметрами MouseEvent , которые включают возможность установки координат x, y. Когда mouseEventInit опущен, параметры по умолчанию {"bubbles": true,"cancelable": true} .

{
  "mouseevent": "mouseover",
  "selector": "a.link",
  "mouseEventInit": {
    "bubbles": true,
    "cancelable": true
  }
}

script

Оцените код javascript. Это действие позволяет выполнить код javascript на странице, например, закрыть всплывающие окна перед дальнейшими изменениями состояния пользовательского интерфейса.

{
  "script": "Popups.close();"
}

fn

Выполнить функцию javascript. Это действие позволяет выполнить предварительно настроенную функцию javascript. Дополнительный параметр "promise":true позволяет ожидать обещание и ждать его разрешения, прежде чем продолжить следующее действие.

{
  "fn": "action_to_perform",
  "promise": true
}

notes

Каждый объект действия принимает параметр notes , который можно использовать для добавления описательного текста.

{
  "script": "add_to_cart();",
  "notes": "описание действия пользовательского интерфейса для личного использования"
}

Показать пример конфигурации

Пример конфигурации действий пользовательского интерфейса

{
  "ui_actions": [
    {
      "viewport": "360x640",
      "notes": "Настройте область просмотра для обнаружения CSS в верхней части страницы."
    },
    {
      "wait": 1000,
      "notes": "Подождите 1000 мс, чтобы область просмотра начала визуализироваться."
    },
    {
      "run": true,
      "notes": "Запустите критический генератор CSS (вычисление CSS в верхней части страницы)."
    },
    {
      "mouseevent": "click",
      "selector": "a.nav-menu",
      "notes": "Запустите новое событие MouseEvent для элемента DOM элемента .nav-menu."
    },
    {
      "wait": 2000
    },
    {
      "run": true
    },
    {
      "script": "close_nav_menu();",
      "notes": "Выполните скрипт, в этом случае закройте меню, прежде чем продолжить работу со следующим окном просмотра."
    },
    {
      "viewport": "1300x900"
    },
    {
      "wait": 1000
    },
    {
      "run": true
    }
  ]
}

Удаление неиспользуемых CSS

Средство удаления неиспользуемого CSS использует то же программное обеспечение, что и критически важный экстрактор CSS, и принимает почти те же параметры конфигурации, включая управление браузером в стиле Puppeteer с помощью действий пользовательского интерфейса. Инструмент также позволяет извлекать неиспользуемый CSS.

Показать пример конфигурации

Пример конфигурации неиспользуемого средства удаления CSS

{
  "atRulesToKeep": [
    "charset",
    "keyframes",
    "import",
    "namespace",
    "page"
  ],
  "atRulesToRemove": [],
  "selectorsToKeep": [
    "*",
    "*:before",
    "*:after",
    "html",
    "body"
  ],
  "selectorsToRemove": [],
  "propertiesToKeep": [],
  "propertiesToRemove": [],
  "pseudoSelectorsToKeep": [
    "/:.*/"
  ],
  "pseudoSelectorsToRemove": [],
  "maxElementsToCheckPerSelector": false,
  "strictParser": false,
  "ui_actions": [
    {
      run: true
    }
  ]
}

Удаление дубликатов CSS

Средство удаления дубликатов CSS позволяет сравнивать две таблицы стилей и удалять или извлекать дубликаты CSS.

Показать пример конфигурации

Пример конфигурации для удаления дубликатов CSS

{
  "atRulesToKeep": [],
  "atRulesToRemove": [],
  "selectorsToKeep": [],
  "selectorsToRemove": [],
  "propertiesToKeep": [],
  "propertiesToRemove": [],
  "strictParser": false
}

Второе поле ввода принимает номер индекса таблицы стилей. Вы можете найти индекс таблицы стилей в обзоре таблицы стилей на вкладке настроек.

Обзор указателя таблицы стилей Обзор указателя таблицы стилей

Вы можете загрузить таблицу стилей или сравнить таблицы стилей с внешних URL-адресов, создав новую таблицу стилей. Затем вы можете импортировать URL-адреса или загрузить таблицы стилей и использовать индекс из новой таблицы стилей в средстве удаления дубликатов CSS.

Импорт или загрузка таблиц стилей Импорт или загрузка таблиц стилей

После настройки нажмите кнопку, чтобы запустить средство удаления дубликатов CSS. Комментарий CSS будет отображать базовую статистику результирующего уменьшенного CSS.

Результат удаления дубликатов CSS Результат удаления дубликатов CSS