Resumen de cómo aprovechar la nueva función `shape()` de CSS
(css-tricks.com)- La función CSS
shape()empezó a ser compatible con los navegadores Chromium y WebKit - A diferencia de
path(), ahora permite definir formas complejas con una sintaxis y unidades más legibles en CSS - Al crear formas complejas en
clip-path, se puede implementar con un enfoque basado en comandos en inglés en lugar de coordenadas SVG - Con nuevos comandos como
line,arcycurve, es posible escribir líneas, curvas y arcos de forma concisa shape()todavía tiene soporte limitado para animaciones, pero sí permite cambios dinámicos en respuesta ahover/focus
Descripción general
- La función CSS
shape()se usa junto conclip-pathy permite el recorte de formas complejas en el navegador - Antes se podían usar formas básicas como
circle,ellipseypolygon, pero las formas libres solo eran posibles conpath() - Como en
path()hay que introducir directamente coordenadas y comandos de SVG, su legibilidad era menor y la curva de aprendizaje más alta
Características de la función shape()
- Permite construir formas vectoriales al estilo de CSS
- El punto de inicio se define con palabras clave de dirección (
from top left) o con valores de coordenadas (from 0 0) - La forma se compone de una serie de comandos. Ej.:
line,vline,arc,curve,smooth
Explicación de los comandos principales
- line
- Significado: dibuja una línea desde el punto de inicio
- Uso: define una posición relativa con la palabra clave
by - Ejemplo:
line by -2px 3px
- vline
- Significado: dibuja una línea vertical
- Uso: define una posición absoluta con
toy una relativa conby - Ejemplo:
vline to 50px
- hline
- Significado: dibuja una línea horizontal
- Uso: define una posición absoluta con
toy una relativa conby - Ejemplo:
hline to 95%
- arc
- Significado: dibuja una curva elíptica
- Uso:
to: punto final del arcowith: dirección de inclinación del arco (horizontal/vertical)of: radio de la elipse a la que pertenece el arco (horizontal/vertical)
- Ejemplo:
arc to 10% 50% of 1%
- curve
- Significado: dibuja una curva Bézier
- Uso:
to: punto final de la curvawith: puntos de control de la curva (ajustan la curvatura)
- Ejemplo:
curve to 0% 100% with 50% 0%
- smooth
- Significado: dibuja una curva suave (curva Bézier conectada)
- Uso:
to: punto finalby: coordenadas relativaswith: punto de control
Otros puntos
shape()puede cambiar dinámicamente en estadoshover/focus- En los navegadores actuales, las animaciones con
transitionno funcionan - También se puede usar la función de cálculo
calc()
Aún no hay comentarios.