CSS corner-shape: La guía completa para esculpir tus interfaces

Esquema simplificado que muestra una
esquina redondeada, una esquina biselada y una esquina con muesca con corner-shape

Durante mucho tiempo, la Web utilizó una sola forma para las esquinas: el arco de círculo. La propiedad border-radius es muy útil, pero limitada. No puede crear ángulos rectos cortados (biseles) o formas más complejas sin ayuda externa.

La propiedad corner-shape cambia esto. Permite elegir la forma de la esquina sin cambiar su tamaño. Es una revolución para el rendimiento porque todo es gestionado de forma nativa por el navegador.

¿Por qué usar corner-shape?

Anteriormente, para crear una esquina biselada, utilizábamos imágenes o máscaras complejas. Estos métodos ralentizan el sitio. corner-shape ofrece tres ventajas:

  1. Rapidez: El navegador dibuja la forma directamente.
  2. Ligereza: Menos código y sin imágenes que cargar.
  3. Flexibilidad: La forma se adapta automáticamente al tamaño del bloque.

Aquí tienes un ejemplo de código fluido y eficiente:

.card {
  background-color : #1a1a1a;
  border-radius    : clamp(1rem * $font-size, 5vi, 3rem * $font-size);
  corner-shape     : bevel;
  inline-size      : 100%;
  padding          : 2rem * $font-size;
}

Las cuatro formas básicas

La propiedad corner-shape propone cuatro palabras clave sencillas. Cada una cambia la forma en que se traza la esquina.

1. El modo Round (redondeado)

Es el valor por defecto. El navegador dibuja un cuarto de círculo. Es lo que hace border-radius por sí solo.

2. El modo Bevel (biselado)

El bisel corta la esquina con una línea recta. Es ideal para diseños modernos o industriales. El cálculo es muy sencillo para la unidad de procesamiento gráfico (GPU), lo que hace que la visualización sea instantánea.

3. El modo Scoop (excavado)

El modo scoop crea una curva hacia el interior. Imagina que se retira un trozo de círculo de la esquina del bloque. Es muy difícil de lograr sin esta propiedad.

4. El modo Notch (muesca)

La muesca crea un recorte en forma de escalón. La esquina se compone de dos líneas rectas que se unen en el interior del bloque.

La superelipse: el secreto del diseño de alta gama

La función superellipse() es la parte más técnica de corner-shape. Permite crear curvas muy suaves, a menudo llamadas “squircles”.

¿Qué es una superelipse?

Es una forma matemática entre el cuadrado y el círculo. A diferencia de un círculo, la curva comienza muy suavemente. No hay un corte visible entre la línea recta y el inicio de la esquina. Apple utiliza mucho esta forma para sus iconos y productos.

.premium-box {
  aspect-ratio  : 1 / 1;
  border-radius : 20%;
  corner-shape  : superellipse(2.5);
  inline-size   : min(20rem * $font-size, 80vi);
}

En este código, el número 2.5 es el exponente matemático.

  • Si el número es 2, es un círculo perfecto.
  • A medida que el número aumenta, la esquina se vuelve más “llena” y se acerca a un cuadrado.

¿Cómo muestra el navegador estas formas?

Para garantizar el máximo rendimiento, hay que entender qué ocurre en el navegador.

El flujo de renderizado (Pipeline)

Cuando usas corner-shape, el navegador sigue estos pasos:

  1. Cálculo del layout: Define el tamaño del bloque (el rectángulo).
  2. Fase de painting: Dibuja el borde con la forma elegida.

La ventaja de corner-shape es que no afecta a la etapa de layout. El bloque mantiene el mismo tamaño, sin importar la forma de la esquina. Esto evita que el navegador tenga que rehacer todos los cálculos de posición si la forma cambia, por ejemplo, al pasar el ratón (hover).

Aceleración por hardware

El trazado de formas como el bisel o la superelipse se envía directamente a la GPU. La GPU está diseñada para dibujar vectores muy rápidamente. Es mucho más eficiente que utilizar filtros o máscaras de JavaScript.

Accesibilidad y confort visual

Un buen código debe ser legible para todos, incluidos los usuarios de herramientas de asistencia.

El contorno de selección

Un gran problema con las técnicas antiguas era que el anillo de selección (al usar la tecla Tab) seguía siendo rectangular. Con corner-shape, el navegador adapta el anillo de enfoque a la forma de la esquina.

.interactive-element:focus-visible {
  outline        : .2rem * $font-size solid #4a90e2;
  outline-offset : .4rem * $font-size;
}

Unidades fluidas

Usamos rem y la variable $font-size para que las esquinas se adapten al tamaño del texto del usuario. Si una persona aumenta el tamaño de la fuente en su navegador, las esquinas seguirán siendo proporcionales y la interfaz se mantendrá limpia.

Resumen para el desarrollador

Para optimizar tu interfaz con corner-shape, recuerda estos puntos:

  • Usa bevel para un aspecto técnico y un rendimiento máximo.
  • Usa superellipse para un aspecto suave y lujoso.
  • Usa unidades relativas (rem) para que el diseño sea accesible.
  • Evita las imágenes de esquinas para ganar milisegundos valiosos en la carga.

corner-shape es la herramienta perfecta para combinar un diseño complejo con una velocidad de carga increíble. Es el futuro del diseño web de alto rendimiento.


Preguntas frecuentes (FAQ)

¿Funciona corner-shape con las sombras (box-shadow)? Sí. La sombra sigue exactamente la forma de la esquina. Si haces una muesca, la sombra también tendrá una muesca. Es automático y muy rápido.
¿Reemplaza esto a border-radius? No. Ambos trabajan juntos. border-radius define el tamaño del área de la esquina, y corner-shape define el estilo del trazo en esa zona.
¿Por qué el rendimiento es mejor que con SVG? Porque el motor CSS del navegador trata corner-shape como una instrucción de dibujo básica. Un archivo SVG debe ser leído, analizado y transformado en píxeles, lo que consume más tiempo y memoria.
Lionel Péramo
Lionel Péramo
Experto en Rendimiento Web y Ecodiseño

Desarrollador Full Stack y creador del framework OTRA (PHP) y de la librería EcoComposer. Escribo para hacer la web más rápida e inclusiva.

Sobre mí →