Gerador de caminhos de recorte CSS

Escolha uma predefinição de forma, ajuste os controles deslizantes e copie o código CSS clip-path.

Tipo de forma

Pré-visualização em tempo real

CSS gerado

Como usar

  1. Escolha um tipo de forma : polígono, círculo, elipse ou inset (retângulo com cantos arredondados opcionais).
  2. Arraste os pontos de controle : mova as alças da forma na pré-visualização para personalizar precisamente a área de máscara.
  3. Copie o CSS : o valor da propriedade clip-path gerada está pronto para colar na sua folha de estilo.

Por que usar o gerador CSS clip-path ?

O CSS clip-path cria formas não retangulares mascarando tudo o que está fora de uma área definida. É usado para separadores de seções em diagonal, recortes de imagem hexagonais, formas de botão personalizadas, efeitos criativos ao passar o cursor e revelações de imagens mascaradas. Escrever à mão as coordenadas de um polígono clip-path envolve calcular as porcentagens de cada vértice, tedioso e difícil de visualizar. Este gerador interativo permite arrastar pontos visualmente e obter os valores CSS exatos instantaneamente.

Funcionalidades

Perguntas frequentes

O clip-path afeta as áreas clicáveis ?

Sim. Por padrão, os eventos de ponteiro só são registrados dentro da área de máscara, a área mascarada é ao mesmo tempo invisível e não clicável. Para tornar o elemento totalmente clicável enquanto o mascara visualmente, use pointer-events: all no elemento ou sobreponha uma camada transparente.

Posso animar clip-path ?

Sim, o clip-path pode ser objeto de transições e animações CSS. Anime entre dois polígonos com o mesmo número de pontos para um efeito de transformação (morphing) fluido. Formas com números de pontos diferentes serão animadas aos saltos em vez de por interpolação.

O clip-path tem suporte em todos os navegadores ?

O clip-path é suportado em todos os navegadores modernos. Para formas SVG via a sintaxe url(#id), o suporte é ainda mais amplo. Os valores básicos polygon, circle, ellipse e inset funcionam universalmente no Chrome, Firefox, Safari e Edge.

O que CSS clip-path realmente faz

A propriedade CSS clip-path mascara um elemento em uma forma escolhida: tudo dentro da forma é visível, tudo fora se torna transparente. A caixa de layout do elemento não muda (ainda ocupa o mesmo retângulo para fins de colapso de margem, fluxo e posicionamento de irmãos), mas apenas os pixels dentro da região de recorte são desenhados. Isso torna clip-path diferente do recorte (que muda permanentemente a imagem) e diferente do posicionamento (que move as coisas): clip-path é uma máscara aplicada no momento da exibição, logo antes dos pixels atingirem a tela.

Existem quatro funções de forma básicas: polygon() (uma lista de vértices como coordenadas de porcentagem ou pixel), circle() (raio mais um centro), ellipse() (dois raios mais um centro) e inset() (um retângulo medido a partir de cada borda, opcionalmente com cantos arredondados). Para formas muito complexas para essas quatro (curvas irregulares, estrelas com recortes côncavos, contornos caligráficos), clip-path também aceita um caminho SVG via path() ou uma referência a um elemento SVG <clipPath> via url(#id). O navegador desenha o elemento, então o compõe através da máscara alfa definida por sua forma.

clip-path importa para o design web moderno porque permite formas que teriam exigido editores de imagem há uma década. Um divisor de seção diagonal, um recorte de imagem hexagonal, um banner em chevron, uma foto em forma de estrela: tudo agora possível em CSS puro, escalável a qualquer tamanho, animável ao hover e acessível porque o elemento subjacente ainda é HTML, não uma imagem rasterizada. O compromisso é a verbosidade: escrever polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%) à mão para um diamante simples é viável, mas uma estrela de 12 vértices ou um recorte de logo personalizado é impraticável sem um editor visual. É aí que este gerador entra.

Como esta ferramenta funciona nos bastidores

A pré-visualização é um div com seu clip-path escolhido aplicado como CSS inline, atualizado em cada arrasto de um manípulo de controle. Os manípulos são círculos posicionados absolutamente sobrepostos no topo da pré-visualização nas coordenadas de porcentagem de cada vértice. Quando você arrasta um manípulo, o JavaScript captura o evento mousemove (ou touchmove), converte a posição em pixels para uma porcentagem da área de pré-visualização, atualiza esse vértice no polígono em memória e reaplica a cadeia clip-path. Renderização em tempo real significa que você vê a forma mudar enquanto arrasta, não depois.

O CSS gerado é construído juntando os vértices em uma cadeia de polígono: polygon(x1% y1%, x2% y2%, ...) para o modo polígono, ou circle(r% at cx% cy%), ellipse(rx% ry% at cx% cy%), inset(top right bottom left round radius) para os tipos de forma mais simples. Valores de porcentagem em vez de valores de pixel são usados porque as porcentagens escalam automaticamente com o elemento: um polígono que parece correto em 300x200 também parece correto em 600x400 sem mudança no CSS. A caixa de código atualiza em cada interação, e o botão Copiar CSS escreve o valor atual em sua área de transferência.

Nada sai do seu navegador. A pré-visualização, os cálculos de forma, a geração de CSS e a cópia para a área de transferência são todos JavaScript do lado do cliente. Nenhuma solicitação de rede é feita; nenhuma imagem é enviada; nenhuma análise sobre suas escolhas de forma. A ferramenta não tem backend algum além do HTML estático e JavaScript servidos uma vez no primeiro carregamento. Abra a aba de rede do navegador durante o uso e você verá zero solicitações após o carregamento inicial da página. O CSS que você gera é seu para colar em qualquer folha de estilo.

Breve história do recorte CSS

Fluxos do mundo real

Armadilhas comuns e o que significam

Privacidade: tudo roda em seu navegador

Ferramentas geradoras CSS tradicionalmente caem em dois campos: páginas HTML simples com JavaScript do lado do cliente (privadas, rápidas, sem necessidade de conta) e editores completos com projetos salvos em nuvem (colaborativos, mas cada edição de forma é registrada no servidor de outra pessoa). Esta ferramenta está firmemente no primeiro campo. As coordenadas de polígono que você arrasta, as cores que você escolhe, o CSS que você copia: tudo permanece na sua sessão do navegador, nunca enviado para lugar nenhum. Atualize a página e o estado se vai a menos que você tenha copiado o CSS primeiro.

A implicação de privacidade importa principalmente para trabalho proprietário. Uma agência de design prototipando uma forma de botão personalizada para um redesign de marca confidencial, um desenvolvedor independente trabalhando em uma UI de jogo não anunciada, uma equipe corporativa projetando layouts para um produto ainda sob NDA: qualquer contexto onde a forma em si ou seu histórico de iteração poderia vazar informação sobre trabalho em andamento. Com esta ferramenta, nenhum desses riscos existe porque nada é capturado. Abra a aba Rede do navegador enquanto arrasta os manípulos e você verá zero solicitações de saída.

Quando outra ferramenta é a escolha certa

Mais perguntas frequentes

Posso usar porcentagens ou pixels para coordenadas de vértice?

Ambos funcionam. Porcentagens escalam com a caixa do elemento, então um polígono definido em porcentagens mantém sua forma proporcional quando o elemento redimensiona. Pixels são absolutos, então um polígono com coordenadas em pixel mantém o mesmo tamanho independentemente do elemento. Use porcentagens para formas que devem redimensionar com o layout (a maioria dos casos) e pixels para formas que precisam de posições de pixel exatas (por exemplo, alinhamento a um elemento de design específico). Você também pode misturar: polygon(50% 10px, 100% 50%, ...) é válido.

clip-path afetará SEO ou leitores de tela?

Não. clip-path é uma propriedade puramente visual. O HTML subjacente é totalmente acessível: texto dentro de um elemento recortado ainda é indexado por motores de busca, ainda anunciado por leitores de tela, ainda selecionável por navegação de teclado. Use clip-path para estilo visual; não o use como forma de esconder conteúdo semanticamente (isso requer display: none ou atributos aria-hidden). Conteúdo visualmente recortado permanece presente na árvore de acessibilidade.

Como faço um clip-path responsivo?

Use porcentagens em vez de pixels, e verifique o resultado em diferentes breakpoints. Para formas que precisam de proporções diferentes em mobile versus desktop, use media queries CSS para trocar o valor clip-path: declare um clip-path diferente dentro de @media (max-width: 768px) para a forma mobile. Para necessidades responsivas complexas (por exemplo, um polígono que vira círculo em mobile), considere usar JavaScript para recalcular o clip-path baseado no tamanho da janela, embora abordagens puras de CSS lidem com a maioria dos casos.

clip-path pode ser aplicado a vídeos e iframes?

Sim. clip-path funciona em qualquer elemento HTML, incluindo <video> e <iframe>. A máscara se aplica no nível do elemento, então um vídeo recortado para um hexágono toca dentro desse hexágono. Os controles de vídeo (quando exibidos) também são recortados, o que pode esconder inadvertidamente botões de reproduzir/pausar; embrulhe o vídeo em um elemento contêiner se você precisa que os controles sejam visíveis fora da área recortada.

Qual é o número máximo de vértices de polígono?

Não há limite formal especificado pelo padrão CSS. Praticamente, navegadores lidam com polígonos com centenas de vértices sem erros de renderização, mas o desempenho degrada com a contagem de vértices, especialmente para clip-paths animados. Vise 3 a 12 vértices para a maioria das formas decorativas; se você precisa de mais complexidade, mude para path() SVG para autoria mais limpa e características de desempenho similares. Além de 50 vértices, clip-path se torna mais difícil de manter à mão e um fluxo de trabalho de editor SVG faz mais sentido.

Posso recortar texto em vez de apenas imagens e caixas?

Sim. clip-path funciona em elementos de texto também, mascarando-os como qualquer outro elemento. O efeito visual é «texto espreitando através de uma forma». Para efeitos de forma de texto mais sofisticados (por exemplo, usando um contorno de texto como máscara de recorte para uma imagem), combine clip-path com background-clip: text, que usa a forma do texto em si como região de recorte para o fundo do elemento. Padrão comum: texto grande com um fundo gradiente visível apenas dentro das formas do texto.

Ferramentas relacionadas