CSS Dinámico

Post procesamiento vs. preprocesamiento

Para los que conocemos y usamos Less o sus variantes, nos alegraríamos mucho de saber que CSS pueda agregar capacidades similares. A pesar de que gran parte de la comunidad esté en desacuerdo (¡Gracias, AM!), yo creo que serían útiles, por varias razones. (Invito a discutir a quién piense distinto.)

  • Por un lado, permitirán la inserción fácil de quienes no dominen CSS completamente. Está claro que significa que se pueden resolver cosas de una forma no tan prolija, pero los lenguajes tratan de facilitarnos las tareas a nosotros, no imponernos reglas que debemos seguir. Cuando existe esa diferenciación es cuando comienzan a surgir buenas prácticas.
  • Por otro lado, permitirá la creación de frameworks más dinámicos, sin uso de JavaScript. Frameworks CSS que sean adaptables al uso de los usuarios, multi-navegador y apropiadamente utilizables. De la misma forma que Bootstrap tiene variables globales que se pueden cambiar para ajustar su comportamiento, así serían más dinámicos y reutilizables.
  • Por otro lado más: reutilización. Muchas veces los esquemas de colores se basan en un conjunto limitado de los mismos. Si los tamaños de fuentes ya admiten relaciones entre ellos, ¿por qué no los colores, por qué no condicionales que devuelvan un valor según el valor padre? (Nuevamente, en favor de los CSSs consistentes cross-browsers.)
  • Minimización de hacks. Por partida doble. En el primer aspecto, por todo lo que nombré. En el segundo aspecto, por la posibilidad de limitarlos a lo necesario y sólo reutilizarlos como referencia (lo que Less denomina mixins).

Todo esto venía a los links que me encontré, relativamente novedosos: Calc() para CSS, un operador que calcula valores en base a los argumentos que se le pasen. Creo que este pedacito de código lo paga todo:

[sourcecode language="css"]
#foo {
width: calc(50% – 100px);
}
<div id=”foo”>Always 100 pixels less than half the available area</div>
[/sourcecode]

Por otro lado, Scoped Styles, algo que sólo veo como utilidad al momento de permitir usuarios escribir su propio CSS (apropiado para SaaS en donde los usuarios tengan su propio espacio). No soy muy fanático de esta funcionalidad, pero reconozco que resuelve un problema existente.

Soy un zorrinito dinámico.

Comentarios

andres

April 3, 2012

> Por un lado, permitirán la inserción fácil de quienes no dominen CSS completamente.

Pero generan mas lenguajes, más cosas que aprender, en lugar de profundizar en un lenguaje común. Por ejemplo: tal vez LESS sea más cómodo e intuitivo para un programador, pero tal vez no lo es para un diseñador.

Relacionado con el punto dos, creo que tal vez no las conocemos o no son intuitivas para nosotros, pero tengo entendido que el CSS puro y duro, por ejemplo, también se puede adaptar a distintos dispositivos.

Lo mismo, tal vez no de la forma en que estamos acostumbrados pero CSS permite reutilización. Al igual que en los puntos anteriores tal vez requiere que modifiquemos nuestra manera de pensar, para un programador acostumbrado a algoritmos SQL también requiere modificar la forma de pensar, no?

Hacks, ahí estoy de acuerdo, las diferencias entre navegadores son un problema importante, pero tienden a desaparecer, ¿no?


Agrega tu comentario