¿Cómo funcionan los triángulos CSS?

Resuelto Stanislav Shabalin asked hace 13 años • 23 respuestas

Hay muchas formas CSS diferentes en Trucos CSS - Formas de CSS y estoy particularmente desconcertado con un triángulo:

Triángulo CSS

#triangle-up {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 100px solid red;
}
<div id="triangle-up"></div>
Expandir fragmento

¿Cómo y por qué funciona?

Stanislav Shabalin avatar Aug 16 '11 10:08 Stanislav Shabalin
Aceptado

Triángulos CSS: una tragedia en cinco actos

Como dijo Alex , los bordes de igual ancho se topan entre sí en ángulos de 45 grados:

los bordes se encuentran en ángulos de 45 grados, el contenido en el medio

Cuando no tienes borde superior, se ve así:

sin borde superior

Luego le das un ancho de 0...

sin ancho

...y una altura de 0...

tampoco hay altura

...y finalmente, haces transparentes los dos bordes laterales:

bordes laterales transparentes

Eso da como resultado un triángulo.

sdleihssirhc avatar Aug 16 '2011 04:08 sdleihssirhc

Los bordes utilizan un borde en ángulo donde se cruzan (ángulo de 45° con bordes del mismo ancho, pero cambiar el ancho de los bordes puede sesgar el ángulo).

Ejemplo de borde

div {
  width: 60px;
  border-width: 30px;
  border-color: red blue green yellow;
  border-style: solid;
}
<div></div>
Expandir fragmento

Eche un vistazo a jsFiddle .

Al ocultar ciertos bordes, puedes obtener el efecto de triángulo (como puedes ver arriba al hacer que las diferentes partes sean de diferentes colores). transparentSe utiliza a menudo como color de borde para lograr la forma del triángulo.

alex avatar Aug 16 '2011 03:08 alex