Dynamic CSS: estilos dinámicos en nuestro sitio web

De la misma manera que existen Ajax y DHTML (dos grupos de tecnologías que agregan funcionalidad a páginas web), existe Dynamic CSS (DCSS): una combinación de hojas de estilo en cascada y lenguajes del lado del servidor para poder utilizar estilos dinámicos en un sitio web. El concepto (acuñado en 2002 por el programador holandés Jori Koolstra) no está suficientemente difundido, pero ayuda a resolver necesidades habituales en la maquetación de sitios web, como evitar la repetición de código o conseguir que un elemento de la página presente un formato visual diferente dependiendo de la situación. El CSS dinámico surge de la combinación de dos grupos de lenguajes:

  • CSS (Cascading Style Sheets). El lenguaje que describe la presentación de un sitio web separándola de su estructura.
  • Lenguajes del lado del servidor. Generan programas que se ejecutan en el servidor y no en el cliente. Por ejemplo, si el usuario (cliente) solicita realizar una operación matemática, el cálculo se ejecutará en el servidor y el resultado se mostrará luego de volver a cargar la página. Algunos de ellos son PHP, ASP, Perl y JSP.

En DCSS, se utiliza un lenguaje del lado del servidor para generar un archivo CSS donde algunos de los atributos estarán sujetos a variables; por lo tanto, su valor se definirá al momento de cargar la página. Esto brinda distintos comportamientos a una misma regla CSS.

DCSS agiliza la escritura de código. Un inmemorable código de color en formato hexadecimal (por ejemplo, #E54545) puede representarse con una variable (por ejemplo, rojoclaro). Además, cuando queramos modificar ese valor solo tendremos que hacerlo una vez, en la asignación de la variable. Incluso podemos hacer que la página obtenga algunos atributos CSS desde una base de datos, de manera que modificando algunas de sus entradas ajustemos el diseño indirectamente.

Además, metalenguajes como LESS y Sass permiten declarar y utilizar variables con facilidad en el mismo archivo de hojas de estilo, asignando sus valores en tiempo de compilación. Dos herramientas prácticas para crear diseños dinámicos y extender así el poder de CSS.