Este site usa cookies para o Google Analytics.

Devido à lei de privacidade, você não pode usar este site sem aceitar o uso desses cookies.

Ver Política de Privacidade

Ao aceitar, você dá consentimento aos cookies de rastreamento do Google Analytics. Você pode desfazer esse consentimento limpando os cookies do seu navegador.

Gerador de CSS crítico

Um widget de navegador gratuito para um gerador CSS crítico avançado e um otimizador acima da dobra .

Otimizador acima da dobra

Gerador de CSS crítico e otimizador acima da dobra Gerador de CSS crítico e otimizador acima da dobra


Introdução

O gerador de CSS crítico permite resolver os Core Web Vitals do Google e remover a penalidade de CSS não utilizado , puramente com base no CSS mínimo. Permite obter um resultado perfeito em pixels .

O melhor resultado crítico de CSS é obtido em um navegador real.

O widget do navegador é executado na página na qual o CSS crítico deve ser extraído e, portanto, tem acesso nativo total ao ambiente CSS original.

Você pode selecionar as folhas de estilo ou elementos de folha de estilo embutidos dos quais extrair CSS crítico. Isso é útil para criar CSS crítico que pode ser compartilhado entre as páginas.

O widget do navegador também possui um recurso para remover CSS crítico das folhas de estilo.

A ferramenta é livre de espionagem. Sem Google Analytics ou rastreamento. Seguro de usar e pode ser usado localmente por meio de um cache do Service Worker.

O widget do navegador fornece um exemplo de software CSS crítico mais avançado que pode ser usado por meio de um navegador Chrome no Google Cloud. Veja para mais informações nosso plugin de otimização profissional .


Instalar

Para instalar o widget, arraste este link🗔 CSS crítico para a barra de favoritos ou copie e cole o código abaixo.

add widget to bookmarks
Opcional Autorize o Service Worker e a Cache-API para o domínio seguro do Google CDN x.pagespeed.pro a manter as configurações nos domínios e a usar o widget off-line ou no localhost .

Características

  1. Gerador de CSS crítico avançado

    1. Custom desenvolvido com base em PostCSS , um dos melhores parsers CSS.
    2. Suporta várias janelas de visualização (desktop + mobile) para CSS crítico responsivo .
    3. O marionetista gosta de controle do navegador, incluindo clique, eventos do mouse (passar o mouse, mover etc.), rolagem, execução de código javascript personalizado e muito mais.
    4. Saída CSS crítica pura não otimizada bruta.
  2. Otimizador acima da dobra

    1. Compare o CSS crítico com o CSS original.
    2. Réguas de medida de pixel personalizáveis.
  3. Ferramentas avançadas de otimização

    1. Removedor de CSS não utilizado para remover CSS crítico das folhas de estilo.
    2. Software profissional de compactação CSS (minify) e otimização.
    3. Reparo de CSS quebrado. Uma ferramenta para corrigir CSS malformado.
    4. Prefixador automático. Uma ferramenta para aplicar prefixos de navegador a CSS.
    5. Estatísticas e análises de CSS.
    6. CSS embelezar.
    7. Lint CSS avançado.
    8. Removedor de CSS duplicado.
    9. Editor CSS avançado conectado ao lint CSS com dicas de otimização.

Como usar

Etapa 1: iniciar o widget do navegador em uma página

Navegue até a página da qual deseja extrair CSS crítico e inicie o widget do navegador. Clique aqui para instruções de instalação.

Etapa 2: gerar CSS crítico

O gerador de CSS crítico pode ser acessado por meio da guia Ferramentas no cabeçalho.

Gerador de CSS crítico e otimizador acima da dobra

Configure o JSON usando as opções da documentação .

Gerador de CSS crítico e otimizador acima da dobra

Passo 3: otimize o resultado

A saída do gerador de CSS crítico é bruta e requer otimização adicional, como compactação.

Gerador de CSS crítico e otimizador acima da dobra

O botão Otimizar no menu do editor permite aplicar otimização e compactação de código avançadas.

Gerador de CSS crítico e otimizador acima da dobra


Documentação

Gerador de CSS crítico

O gerador de CSS crítico aceita as seguintes opções.

Opção
Descrição
Tipo
atRulesToKeep
Uma matriz de regras CSS @ (string ou expressão regular) para incluir com força no CSS crítico.
["media", "charset", "/rule(.*)/i"]
atRulesToRemove
Uma matriz de regras CSS @ (string ou expressão regular) para remover à força do CSS crítico.
["media", "charset", "/rule(.*)/i"]
selectorsToKeep
Uma matriz de seletores CSS (string ou expressão regular) para incluir com força no CSS crítico.
[".selector", "/\\.selector(.*)/i"]
selectorsToRemove
Uma matriz de seletores CSS (string ou expressão regular) para remover à força do CSS crítico.
[".selector", "/\\.selector(.*)/i"]
propertiesToKeep
Uma matriz de declarações CSS (string ou expressão regular) para incluir com força no CSS crítico. Para corresponder valores, use uma matriz de segundo nível com a string de declaração ou regex no índice 0 e a string de valor ou regex no índice 1.
["-webkit-transition", "/(.*)transition(.*)/i", [ "display", "none" ] ]
propertiesToRemove
Uma matriz de declarações CSS (string ou expressão regular) para remover à força do CSS crítico. Para corresponder valores, use uma matriz de segundo nível com a string de declaração ou regex no índice 0 e a string de valor ou regex no índice 1.
["-webkit-transition", "/(.*)transition(.*)/i", [ "display", "none" ] ]
pseudoSelectorsToKeep
Uma matriz de pseudoseletores de CSS (string ou expressão regular) para incluir com força no CSS crítico.
[":before", "/:nth-child(.*)/i"]
pseudoSelectorsToRemove
Uma matriz de pseudoseletores de CSS (string ou expressão regular) para remover à força do CSS crítico.
[":before", "/:nth-child(.*)/i"]
maxElementsToCheckPerSelector
Uma quantidade máxima de elementos a serem verificados acima da visibilidade da dobra. Essa configuração pode afetar a velocidade do gerador.
false or 100
maxEmbeddedBase64Length
O tamanho máximo em bytes de imagens embutidas codificadas em Base64 para incluir no CSS crítico.
1000
strictParser
Por padrão, o CSS é analisado usando o PostCSS Safe Parser tolerante a falhas que corrige automaticamente os erros de sintaxe. Essa configuração permite usar o analisador estrito.
true
ui_actions
Uma matriz de ações a serem executadas no estado da interface do usuário para descobrir o código CSS acima da dobra. Consulte a documentação de ações da interface do usuário abaixo.
[{"viewport":"360x640"}, {"run": true}]

Mostrar exemplo de configuração

Exemplo de configuração crítica do gerador de 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": "Defina a janela de visualização para descoberta de CSS acima da dobra."
    },
    {
      "wait": 1000,
      "notes": "Aguarde 1000ms para permitir que a viewport seja renderizada."
    },
    {
      "run": true,
      "notes": "Execute o gerador de CSS crítico (cálculo de CSS acima da dobra)."
    },
    {
      "mouseevent": "click",
      "selector": "a.nav-menu",
      "notes": "Acione o novo MouseEvent em um elemento DOM de menu de navegação."
    },
    {
      "wait": 2000
    },
    {
      "run": true
    },
    {
      "script": "close_nav_menu();",
      "notes": "Execute um script, neste caso, feche o menu antes de continuar com a próxima viewport."
    },
    {
      "viewport": "1300x900"
    },
    {
      "wait": 1000
    },
    {
      "run": true
    }
  ]
}

Ações de interface do usuário do gerador de CSS crítico

O gerador de CSS crítico fornece controle de navegador semelhante ao Puppeteer. O parâmetro ui_actions aceita uma matriz com objetos de ação da interface do usuário que definem as alterações de estado da interface do usuário em ordem cronológica.

run

Execute o gerador de CSS crítico no estado atual da interface do usuário. Essa ação precisa ser repetida toda vez que o estado da interface do usuário for alterado para descobrir o novo código CSS acima da dobra.

{
  "run": true
}

wait

Aguarde alguns milissegundos antes de continuar com a próxima ação.

{
  "wait": 1000
}

viewport

Defina o tamanho da janela de visualização.

{
  "viewport": "1300x900"
}

scroll

Role a janela de visualização. A opção aceita um valor numérico (pixels do topo), uma string de porcentagem ( 50% ) ou uma matriz com posições [x,y] em pixels.

{
  "scroll": 400
}

event

Acione um evento do navegador ( new Event() ) em um seletor DOM opcional.

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

mouseevent

Acione um evento de mouse ( new MouseEvent() ) em um seletor DOM opcional. A ação aceita um parâmetro mouseEventInit com opções MouseEvent que inclui a capacidade de definir as coordenadas x,y. Quando mouseEventInit é omitido, as opções padrão são {"bubbles": true,"cancelable": true} .

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

script

Avalie o código javascript. Esta ação permite executar o código javascript em uma página, por exemplo, para fechar pop-ups antes de fazer outras alterações no estado da interface do usuário.

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

fn

Execute uma função javascript. Esta ação permite executar uma função javascript pré-configurada. A opção extra "promise":true permite esperar uma promessa e aguardar a resolução da promessa antes de continuar com a próxima ação.

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

notes

Cada objeto de ação aceita um parâmetro notes que pode ser usado para adicionar texto descritivo.

{
  "script": "add_to_cart();",
  "notes": "descrição da ação da interface do usuário para uso pessoal"
}

Mostrar exemplo de configuração

Exemplo de configuração de ações da IU

{
  "ui_actions": [
    {
      "viewport": "360x640",
      "notes": "Defina a janela de visualização para descoberta de CSS acima da dobra."
    },
    {
      "wait": 1000,
      "notes": "Aguarde 1000ms para permitir que a viewport seja renderizada."
    },
    {
      "run": true,
      "notes": "Execute o gerador de CSS crítico (cálculo de CSS acima da dobra)."
    },
    {
      "mouseevent": "click",
      "selector": "a.nav-menu",
      "notes": "Acione o novo MouseEvent em um elemento DOM de menu de navegação."
    },
    {
      "wait": 2000
    },
    {
      "run": true
    },
    {
      "script": "close_nav_menu();",
      "notes": "Execute um script, neste caso, feche o menu antes de continuar com a próxima viewport."
    },
    {
      "viewport": "1300x900"
    },
    {
      "wait": 1000
    },
    {
      "run": true
    }
  ]
}

Removedor de CSS não utilizado

O removedor de CSS não usado usa o mesmo software que o extrator de CSS crítico e aceita quase as mesmas opções de configuração, incluindo controle de navegador semelhante ao Puppeteer por meio de ações de interface do usuário. A ferramenta também permite extrair CSS não utilizado.

Mostrar exemplo de configuração

Exemplo de configuração de removedor de CSS não utilizado

{
  "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
    }
  ]
}

Removedor de CSS duplicado

O removedor de CSS duplicado permite comparar duas folhas de estilo e remover ou extrair o CSS duplicado.

Mostrar exemplo de configuração

Exemplo de configuração do removedor de CSS duplicado

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

O segundo campo de entrada aceita o número do índice da folha de estilo. Você pode encontrar o índice de uma folha de estilo na visão geral da folha de estilo na guia de configurações.

Visão geral do índice da folha de estilo Visão geral do índice da folha de estilo

Você pode fazer upload de uma folha de estilo ou comparar folhas de estilo de URL(s) externo(s) criando uma nova folha de estilo. Você pode importar URLs ou fazer upload das folhas de estilo e usar o índice da nova folha de estilo no removedor de CSS duplicado.

Importar ou fazer upload de folhas de estilo Importar ou fazer upload de folhas de estilo

Uma vez configurado, pressione o botão para iniciar o removedor de CSS duplicado. Um comentário CSS exibirá estatísticas básicas do CSS reduzido resultante.

Resultado do removedor de CSS duplicado Resultado do removedor de CSS duplicado