Las funciones en CSS están emergiendo como una característica innovadora que transformará la manera en que diseñamos y desarrollamos en la web. Estas funciones, actualmente en fase de desarrollo, permitirán definir notaciones funcionales personalizadas directamente en CSS, lo que incrementará la reutilización y la eficiencia en nuestras hojas de estilo.
Definición y uso de funciones en CSS
Tradicionalmente, para aplicar un estilo común a múltiples elementos, era necesario repetir las mismas declaraciones de estilo. Por ejemplo, para asignar un borde discontinuo a varios elementos, se escribía:

Con la introducción de las funciones en CSS, es posible definir una función reutilizable utilizando la regla @function:

Esta función puede ser invocada en cualquier lugar de la hoja de estilo:

De esta manera, se simplifica la aplicación de estilos consistentes a múltiples elementos.
Funciones con parámetros
Las funciones en CSS también pueden aceptar parámetros, lo que permite una mayor flexibilidad. Por ejemplo, para definir una función que acepte un color de borde como parámetro:

Esto permite aplicar diferentes colores de borde de manera dinámica:

Aplicaciones más allá de los bordes: tamaños y diseños
Las funciones en CSS no se limitan a propiedades como los bordes; también pueden utilizarse en propiedades como width, margin o incluso en cálculos:

Además, es posible crear sistemas de espaciado flexibles para diseños de cuadrícula:

Verificación de tipos y valores predeterminados
Una característica destacada de las funciones en CSS es la capacidad de realizar verificación de tipos, lo que ayuda a prevenir errores especificando el tipo de valor que una función debe esperar, como length, color, number o angle. Por ejemplo:

Si se intenta pasar un valor que no sea un ángulo, la función no funcionará, lo que previene posibles errores de estilo. Además, las funciones soportan valores predeterminados, como se observó anteriormente con los colores.
Anidamiento de funciones
Las funciones en CSS permiten el anidamiento, lo que amplía aún más su potencia:

En este ejemplo, una función llama a otra para generar dinámicamente un color de sombra semi-transparente, lo que abre muchas posibilidades creativas para estilos complejos.
Estado actual y soporte en navegadores
Es importante destacar que, aunque las funciones en CSS están en desarrollo, aún no están ampliamente soportadas en todos los navegadores. Actualmente, están disponibles en Chrome Canary con la configuración de características experimentales habilitada.
Conclusión
Las funciones en CSS representan un paso significativo hacia hojas de estilo más reutilizables, legibles y mantenibles. Permiten evitar código repetitivo, definir tokens de diseño de manera más efectiva e incluso crear efectos dinámicos que anteriormente solo eran posibles con JavaScript o preprocesadores como Sass. A medida que estas funciones se integren en los navegadores, los desarrolladores podrán aprovechar su poder para crear diseños más eficientes y dinámicos.
Para obtener más información y detalles técnicos, puedes consultar la especificación oficial del W3C sobre el módulo de funciones y mixins en CSS.
Además, recursos como MDN Web Docs ofrecen una referencia completa sobre CSS y sus nuevas características.