Gerador CSS Clip-Path & Polígonos

Gerador CSS Clip-Path & Polígonos

Crie formas e polígonos CSS clip-path personalizados com controles interativos. Copie regras CSS compatíveis, código SVG e coordenadas responsivas em porcentagem.

Predefinições
Editor Visual4 pts
1234
#1
X:Y:
#2
X:Y:
#3
X:Y:
#4
X:Y:
Precisão Decimal
Caixa de Referência (Reference Box)
Unidade
-webkit-clip-path: polygon(
  0.0% 0.0%,
  100.0% 0.0%,
  100.0% 85.0%,
  0.0% 100.0%
);
clip-path: polygon(
  0.0% 0.0%,
  100.0% 0.0%,
  100.0% 85.0%,
  0.0% 100.0%
);
Guia de Integração e Uso
.clipped-banner { -webkit-clip-path: polygon(0.0% 0.0%, 100.0% 0.0%, 100.0% 85.0%, 0.0% 100.0%); clip-path: polygon(0.0% 0.0%, 100.0% 0.0%, 100.0% 85.0%, 0.0% 100.0%); }
Vértices4 pts
Área92.5%
Perímetro386.1%
Centroide48.6%, 46.4%
ConvexidadeConvexo
InterseçõesLimpar Geometria
Referência técnica e guia de arquitetura

Gerador CSS Clip-Path & Polígonos — Guia de referência

Crie formas e polígonos CSS clip-path personalizados com pontos de arrasto interativos. Copie regras CSS cross-browser, código SVG e coordenadas responsivas em porcentagem.

Gerador CSS Clip-Path & Polígonos — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados
Gerador CSS Clip-Path & Polígonos — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados

Parâmetros-chave e controles

Notação Funcional polygon( [<fill-rule>,]? [<shape-arg>#] )Notação Funcional CSS W3C

Notação funcional da especificação W3C CSS Shapes Module Level 1. Recebe uma regra de preenchimento opcional ('nonzero' ou 'evenodd') seguida por pares de coordenadas separados por vírgula. Cada par consiste em dois valores de comprimento ou porcentagem separados por espaço (X Y).

Padrão: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
Regra de Preenchimento fill-rule (nonzero | evenodd)Palavra-chave W3C SVG e CSS

Determina como interseções de arestas e vazados internos no polígono são calculados. 'nonzero' preenche todos os contornos vetoriais fechados; 'evenodd' alterna o estado de preenchimento a cada cruzamento de vetor, permitindo criar vazados centrais, furos geométricos e molduras vazadas.

Padrão: nonzero
Caixa de Referência (geometry-box)Referência do Box Model CSS

Define a caixa delimitadora de coordenadas para o cálculo percentual. As opções incluem 'border-box' (inclui bordas), 'padding-box' (exclui bordas), 'content-box', ou referências SVG como 'fill-box', 'stroke-box' e 'view-box'. O padrão para elementos HTML é 'border-box'.

Padrão: border-box
Sistema de Coordenadas clipPathUnitsAtributo XML SVG

Utilizado em definições <clipPath> no SVG. 'objectBoundingBox' normaliza as coordenadas em frações relativas entre 0.0 e 1.0 em relação à caixa do elemento-alvo; 'userSpaceOnUse' trava as coordenadas na escala absoluta do sistema de coordenadas do canvas SVG.

Padrão: objectBoundingBox
Diretiva will-change: clip-pathDica de Otimização e Desempenho CSS

Instrui o motor de renderização do navegador a promover o elemento recortado a uma camada independente de composição na GPU antes do início de animações, evitando ciclos custosos de repintura (paint) na CPU e sustentando 60/120 FPS estáveis durante transições de keyframes.

Padrão: clip-path

Dicas profissionais e melhores práticas

Invariância na Quantidade de Vértices para Animações CSS

Transições CSS e animações com @keyframes na propriedade clip-path só interpolam suavemente se os estados inicial e final do polígono contiverem rigorosamente a mesma quantidade de vértices e na mesma ordem de índice. Se um triângulo de 3 vértices tentar se transformar em um octógono de 8 vértices, o navegador não consegue interpolar a geometria e salta abruptamente aos 50%. Solução: insira pontos fictícios colineares nas arestas do triângulo para que ambas as formas declarem exatamente 8 vértices.

Vazados e Aberturas Internas com a Regra Evenodd

Para produzir uma janela oca, formato de anel ou moldura fotográfica vazada em um único polígono CSS, declare 'polygon(evenodd, ...)'. Trace o contorno externo no sentido horário (de 0% 0% a 100% 100%), crie uma linha de transição até a parte interna e desenhe a janela vazada no sentido anti-horário. O algoritmo de traçado de raio (ray-casting) do 'evenodd' subtrai a ilha interior, gerando um centro perfeitamente transparente.

Detecção de Cliques Segue Rigorosamente o Contorno do Polígono

Diferente de 'opacity: 0' ou 'border-radius' (que continuam capturando cliques em cantos retangulares invisíveis), a propriedade 'clip-path' restringe eventos de ponteiro (clique, hover, toque) exclusivamente à área visível do polígono. Cliques fora do perímetro recortado atravessam diretamente para os elementos inferiores do DOM, sem a necessidade de recorrer a 'pointer-events: none'.

Correção de Linha de Fenda Subpixel em Formas Renderizadas pela GPU

Ao alinhar elementos recortados adjacentes (como seções hero diagonais divididas ao meio), a rasterização com suavização de serrilhado (antialiasing) na GPU pode gerar uma fresta oscilante de 1 pixel no fundo entre as formas. Neutralize essa fenda adicionando uma sobreposição microscópica de 0,2% às coordenadas da aresta compartilhada ou aplicando 'outline: 1px solid transparent' para forçar a mesclagem suave das bordas na GPU.

Armadilhas comuns e solução de problemas

⚠️A transição do polígono salta de forma instantânea sem suavização ou animação.

Verifique o número de vértices em ambos os keyframes da animação CSS. A interpolação de polígonos em CSS exige quantidades rigorosamente idênticas de pares de coordenadas. Utilize o recurso 'Normalizador de Vértices' deste gerador para inserir pontos colineares na forma mais simples, igualando a contagem de nós entre ambos os estados.

⚠️Menus suspensos, tooltips ou sombras (box-shadow) são cortados fora dos limites do elemento.

A propriedade 'clip-path' recorta qualquer renderização descendente e sombras fora de seu perímetro geométrico, criando um contexto de empilhamento local. Mova o efeito de sombra para um contêiner pai utilizando 'filter: drop-shadow(...)', e renderize popovers ou tooltips por meio de um React Portal anexado diretamente ao corpo (body) do documento.

⚠️O clip-path polygon não é renderizado em versões legadas do Safari ou WebViews antigas do iOS.

O motor WebKit requer o prefixo de fornecedor em versões legadas do iOS e macOS (Safari 13 e anteriores). Adicione sempre '-webkit-clip-path: polygon(...)' imediatamente antes da propriedade padrão 'clip-path' na sua folha de estilos CSS.

⚠️Vértices autointersectantes geram vazios invertidos ou omitem segmentos da forma.

Quando as arestas do polígono se cruzam, a regra de preenchimento padrão calcula os números de enrolamento (winding numbers), o que pode inverter áreas fechadas. Desembarace os nós cruzados no canvas interativo ou mude a regra de preenchimento para 'nonzero' para forçar o preenchimento de todos os contornos vetoriais sobrepostos.

Perguntas frequentes (FAQ)

Como criar e calcular um polígono com CSS clip-path?▼

Um polígono em CSS clip-path é criado com a sintaxe 'clip-path: polygon(x1 y1, x2 y2, ...)', em que cada vértice é delimitado por coordenadas horizontal (X) e vertical (Y) separadas por espaço, e cada par de vértices é separado por vírgula. As coordenadas são comumente declaradas em porcentagens relativas à caixa do elemento (variando de 0% 0% no canto superior esquerdo a 100% 100% no canto inferior direito). Navegadores modernos suportam unidades em porcentagem e pixels diretamente, com aceleração via hardware na GPU.

É possível animar polígonos CSS clip-path com transições?▼

Sim, formas em CSS clip-path podem ser totalmente animadas usando regras convencionais como 'transition: clip-path 0.4s ease' ou animações com '@keyframes', desde que os estados inicial e final possuam rigorosamente a mesma quantidade de vértices. Se as contagens forem divergentes, os navegadores não conseguem interpolar as coordenadas e saltarão abruptamente de uma forma para a outra. É possível realizar o morphing de qualquer forma preenchendo a geometria mais simples com vértices neutros colineares até igualar a contagem do formato final.

Qual é a diferença entre CSS clip-path polygon e SVG clipPath?▼

O 'clip-path: polygon()' do CSS é ultraleve, declarado diretamente no CSS sem poluição do HTML e oferece suporte nativo a porcentagens responsivas, porém se restringe a arestas retas. Já o '<clipPath>' do SVG permite curvas de Bézier suaves cúbicas e quadráticas (<path>), primitivas geométricas como círculos e elipses e máscaras de texto, mas exige a inclusão de um elemento SVG no DOM e sua vinculação via 'clip-path: url(#id)'. Para geometrias de arestas retas, o polígono CSS proporciona renderização consideravelmente mais rápida e sem sobrecarga no DOM.

Por que meu CSS clip-path não recebe cliques ou bloqueia elementos inferiores?▼

De acordo com a especificação da W3C, a propriedade 'clip-path' recorta a área de teste de clique (hit-testing) em conjunto com a pintura visual do elemento. Áreas externas ao perímetro do polígono não interceptam cliques, eventos de cursor ou foco, permitindo que elementos subjacentes da página sejam clicados com total fluidez. Se os cliques estiverem sendo bloqueados, certifique-se de que nenhum contêiner pai sem recorte esteja capturando os eventos de ponteiro ou que pseudo-elementos (::before/::after) não recortados estejam sobrepostos.

Ferramentas e utilitários relacionados

Todas as ferramentas →