Tutorial: Como fazer triângulos com CSS (sem usar imagens)

Já é possível criar formas geométricas apenas com propriedades CSS. Além disso, dá pra aplicar diversos efeitos e filtros, mas a maioria ainda não funciona no Internet Explorer (lógico). Como a técnica de criar triângulos funcionou em todos os navegadores que eu testei (não atendo mais ao IE6, mas funciona no 7) e pode ser muito útil para criar os controles de um slider sem ter que fazer mais imagens, estou passando abaixo o conceito.

Ilusão da propriedade border:

Devemos tudo à forma como os navegadores processam as bordas dos elementos.

Está caixa foi criada apenas com CSS. As cores das bordas foram definidas para que você perceba bem o que acontece.

Veja esta animação do Chris Coyer:

See the Pen Animation to Explain CSS Triangles by Chris Coyier (@chriscoyier) on CodePen.

Quando definimos as dimensões do elemento para 0 (zero), obtemos quatro triângulos que são formados pelas bordas.

E a estilização básica dos triângulos fica assim:

.triangulo{
width:0;
height:0;
border:1em solid;
font-size: 30px; /* Configure o tamanho do triângulo aqui. */
}

Agora basta ocultar as bordas que não queremos:

.prabaixo { border-color: #777 transparent transparent transparent; }
.esquerda { border-color: transparent #777 transparent transparent; }
.pracima { border-color: transparent transparent #777 transparent; }
.direita { border-color: transparent transparent transparent #777; }

Use as classes no seu HTML assim:

<div class="triangulo direita"></div>
<div class="triangulo esquerda"></div>
<div class="triangulo pracima"></div>
<div class="triangulo prabaixo"></div>