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
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,
para a barra de favoritos ou copie e cole o código abaixo.x.pagespeed.pro
a manter as configurações nos domínios e a usar o widget off-line ou no localhost
.Características
Gerador de CSS crítico avançado
- Custom desenvolvido com base em PostCSS , um dos melhores parsers CSS.
- Suporta várias janelas de visualização (desktop + mobile) para CSS crítico responsivo .
- 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.
- Saída CSS crítica pura não otimizada bruta.
Otimizador acima da dobra
- Compare o CSS crítico com o CSS original.
- Réguas de medida de pixel personalizáveis.
Ferramentas avançadas de otimização
- Removedor de CSS não utilizado para remover CSS crítico das folhas de estilo.
- Software profissional de compactação CSS (minify) e otimização.
- Reparo de CSS quebrado. Uma ferramenta para corrigir CSS malformado.
- Prefixador automático. Uma ferramenta para aplicar prefixos de navegador a CSS.
- Estatísticas e análises de CSS.
- CSS embelezar.
- Lint CSS avançado.
- Removedor de CSS duplicado.
- 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.
Configure o JSON usando as opções da documentação .
Passo 3: otimize o resultado
A saída do gerador de CSS crítico é bruta e requer otimização adicional, como compactação.
O botão Otimizar no menu do editor permite aplicar otimização e compactação de código avançadas.
Documentação
Gerador de CSS crítico
O gerador de CSS crítico aceita as seguintes opções.
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.
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.
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.