02 Capítulo 2 · Lección 8

Skew

Redactado por
Author Sebastian V.
Fecha de publicación

07/07/2024

Tiempo de lectura

5 min

Tema

CSS Transform

La geometría del movimiento y la energía visual

Las líneas horizontales y verticales transmiten estabilidad y orden. Son las líneas de la arquitectura, de las tablas de datos, de los formularios. Pero hay marcas y productos digitales que necesitan transmitir algo diferente: velocidad, energía, dinamismo, ruptura. Para ellos, la diagonal es el lenguaje visual de elección.

¿Has visto cómo las páginas de Nike, Adidas o cualquier marca de deportes tienen secciones que cortan en diagonal? ¿O cómo ciertos botones tienen una silueta cortada en ángulo? Eso es skew en acción.

¿Qué es skew()?

skew() inclina o "cizalla" un elemento a lo largo de uno o ambos ejes. A diferencia de rotate() que gira el elemento como una rueda, skew lo distorsiona como si lo empujaras desde la parte superior mientras lo anclas desde abajo.

  • skewX(15deg): Inclina el elemento sobre el eje horizontal. La parte superior se mueve a la derecha, la inferior a la izquierda (o viceversa con negativos).
  • skewY(10deg): Inclina el elemento sobre el eje vertical. La parte izquierda sube, la derecha baja (o al revés).
  • skew(15deg, 10deg): Aplica ambos ejes simultáneamente.

El truco del contenido compensado

Cuando aplicas skewX(-10deg) a un div, todo su contenido también se inclina: el texto, las imágenes, los botones. Si quieres que el "marco" esté inclinado pero el contenido interior se vea recto (como en los banners de las tiendas de moda), necesitas aplicar la transformación inversa al contenedor del contenido:

> _
.seccion-inclinada {
  transform: skewX(-10deg);
}

.seccion-inclinada .contenido {
  /* El valor opuesto cancela el skew del padre */
  transform: skewX(10deg);
}

Separadores de sección: el uso más frecuente

Una de las aplicaciones más populares de skewY() en landing pages modernas es crear separadores de sección con cortes diagonales. En lugar de un borde recto horizontal entre sección y sección, usas un bloque con skewY(-3deg) que crea una transición diagonal dinámica. Es un recurso visual poderoso que da movimiento y dirección a la composición de la página.

Consejo profesional

Para separadores de sección con skewY, el rango ideal es entre -4deg y 4deg. Más allá de ese rango el efecto se vuelve excesivo y distrae del contenido. Combina el skew con overflow: hidden en el contenedor padre para evitar que los bordes inclinados sobresalgan de su sección.

Geometría en movimiento

> _
<div class="galeria">
  <div class="imagen-skew">
    <div class="imagen-contenido">
      <h4>Colección 2025 - Nueva temporada</h4>
    </div>
  </div>
</div>
> _

Colección 2025 - Nueva temporada

Una tarjeta con skewX(-10deg) que al hacer hover recupera su forma original. El contenido interno está compensado con skewX(10deg) para mantenerse legible.

Errores comunes

01
Olvidar compensar el skew en el contenido interior Si aplicas skewX(-10deg) a un contenedor sin compensar el contenido, el texto dentro también se inclinará, haciéndolo difícil de leer.
02
Usar skewY extremo sin overflow: hidden Un skewY intenso hará que las esquinas del elemento sobresalgan del flujo normal. Asegúrate de que el padre tenga overflow: hidden para contenerlas.
03
Combinar skew con border-radius border-radius y skew no se llevan bien visualmente. El resultado es esquinas distorsionadas de forma inesperada. Es mejor usar clip-path para crear formas irregulares.

Construye con diagonal

Crea una sección hero con su fondo inclinado usando skewY. Asegúrate de compensar el texto interior para que se vea perfectamente horizontal.

01 Crea un div con fondo de color y aplica skewX(-15deg)
02 Observa cómo el contenido interno también se inclina
03 Añade un hijo con skewX(15deg) para compensar la inclinación
04 Prueba skewY(-3deg) en una sección completa para crear un corte diagonal