Gerador de triângulos CSS

Crie triângulos CSS puros com o truque das bordas. Escolha direção, tamanho e cor.

100px
100px

Código CSS

O truque das bordas, um hack CSS de 25 anos que ainda funciona

A técnica do triângulo CSS explora como o algoritmo de pintura de bordas do CSS lida com bordas adjacentes. Quando duas bordas se encontram num canto, o limite entre elas é desenhado como uma linha diagonal no ângulo que bissecta o canto. Com um elemento de tamanho normal, o canto é pequeno e a diagonal mal aparece. Mas se você definir a largura e a altura do elemento como zero e der bordas grossas a ele, os cantos tomam todo o espaço visual, e o que era uma diagonal invisível vira a aresta visível de um triângulo. Torne três das quatro bordas transparentes, deixe a quarta colorida, e você desenhou um único triângulo apontando para longe do lado colorido. A técnica foi amplamente documentada por volta de 2007–2008 nos primeiros artigos do CSS-tricks por Chris Coyier e outros; desde então é item básico da caixa de ferramentas do designer web porque produz uma forma nítida, escalável e colorível em hex, sem SVG, sem PNG, sem requisição HTTP extra e sem CSS complicado. A matemática é simples mas contraintuitiva (a altura do triângulo é a largura de borda do lado colorido; sua base é o dobro da largura de borda do lado transparente adjacente). Este gerador faz a conta, você arrasta controles em vez de calcular larguras de borda.

Alternativas modernas, clip-path, SVG, conic-gradient

Em 2026, o triângulo por bordas tem concorrência. CSS clip-path com a função polygon() (CSS Masking Module Level 1, suporte baseline desde 2017) permite recortar qualquer elemento num polígono arbitrário: clip-path: polygon(50% 0, 100% 100%, 0 100%) desenha um triângulo apontando para cima em qualquer elemento. clip-path é mais flexível (qualquer número de vértices, não só três; funciona em qualquer elemento com conteúdo, não só divs vazios), compõe melhor com transformações e animações, e suporta cantos arredondados via a função mais nova shape(). SVG inline (<svg><polygon points="50,0 100,100 0,100"/></svg>) dá o controle máximo, traços, preenchimentos, gradientes, animações via SMIL ou CSS, acessibilidade via elementos <title>. conic-gradient pode produzir formas triangulares via paradas de cor bem posicionadas, mas é mais curiosidade do que padrão prático. O triângulo por bordas continua a escolha certa para o caso decorativo simples (ponteiros de tooltip, indicadores de dropdown, caudas de balões de fala) onde simplicidade e overhead zero importam mais do que flexibilidade; clip-path é melhor quando o triângulo faz parte de uma forma mais complexa, quando é preciso colocar texto dentro, ou quando o design pode precisar de cantos arredondados.

Onde os triângulos CSS justificam seu lugar

Considerações de acessibilidade

Triângulos CSS são pura decoração visual, não têm significado semântico nem presença na árvore de acessibilidade. Leitores de tela não os anunciam. Para uso puramente decorativo (a cauda do balão, o separador de breadcrumb) este é o comportamento correto. Para triângulos que transmitem significado (uma seta apontando para a seção ativa, uma seta de menu indicando «clique para mais»), o significado precisa ser comunicado por outros meios: um atributo aria-expanded num gatilho de dropdown, um rótulo de texto visível, um aria-label no botão. Não conte com um triângulo CSS para comunicar estado; trate-o como um reforço visual de um estado comunicado semanticamente por outros atributos. O conteúdo dos pseudo-elementos CSS ::before e ::after em geral não é lido por leitores de tela, o que é apropriado para formas decorativas.

Tipos de triângulos que este gerador produz

Ferramentas relacionadas