CSS dinámicos

Un interesante artículo que nos explica cómo realizar hojas de estilo dinámicas, aunque la verdad yo no le veo mucho uso, incluso el ejemplo que pone no me vale demasiado. Supongo que se podría evitar el uso dinámico de CSS diseñando mejor las CSS, pero claro, tambien puede que me equivoque. De todas formas, el artículo me ha gustado bastante, porque a parte de explicarte cómo hacerlo, te muestra que lo que siempre pensamos como estático (CSS, Javascript) puede ser un script PHP y no necesariamente un texto plano. A parte te dice con qué problemas nos podemos encontrar, en este caso el tiempo de ejecución del script frente al tiempo de carga de un fichero plano, algo que creo que a veces se suele olvidar.

Usar una hoja de estilos dinámica puede ser útil en el caso de que nuestra aplicación deba mostrar distintos estilos dependiendo de la página desde la que se le pida. Como ejemplo pone una aplicación que use módulos (ventanas tipo gadgets) y que dependiendo del módulo tenga que mostrar un estilo u otro.

Lo único diferente a la hora de crear el script PHP que nos devuelve el script es que se debe devolver el tipo de contenido del archivo (Content-Type), ya que el resto no se debería diferenciar de mostrar un HTML:

header('Content-Type: text/css');
if (condicion) {
echo '#estilo { display: inline; }';
} else {
echo '#estilo { display: inline; }';
}

El problema con el que nos encontramos es que cada vez que se visita la CSS se tiene que ejecutar y no se guarda en caché. Para que cachee el script, durante un tiempo prudencial, debemos indicarlo en la cabecera:

header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');

Ahora el único problema que nos queda es no tener que procesar siempre los mismos estilos, para ello nada mejor que usar @import, así seleccionamos unos estilos u otros, pero no los generamos:

header('Content-Type: text/css');
header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
if (condicion) {
echo '@import "estilo1.css";';
} else {
echo '@import "estilo2.css";';
}

Static and dynamic CSS combined

Puntos a favor y en contra de Windows Vista

Windows VistaA la gente le gusta las listas (esto me suena a anuncio) y una que me ha parecido interesante es sobre cosas a favor y en contra sobre Vista, porque hay que reconocer que Microsoft hace cosas buenas y no solo vamos a criticar a Gates y sus productos.

A favor

  • Sidebar y Gadgets: aunque no es nada innovador, no hay que quitarle mérito a los gadgets que proporcionan y al hecho de que vaya a haber más. Claro, que también hay quienes dicen que es un punto más para que nos entre spyware y demás.
  • Aero Glass interfaz: muy vistoso, sobre todo las transparencias y cambios de color.
  • Media Center: el software para música, fotos, videos online, DVDs y HDTV. No está incluida ni en la versión Basic Home ni en las dos versiones para empresas.
  • Windows Media Player 11: a parte de las mejoras que presenta, al autor de esta lista le gusta porque está totalmente integrado con la tienda online de música de Microsoft (sobre gustos…).
  • DRM (Digital Rights Management): ¿a favor?, seguro que estaría a favor de que Windows usara nuestra cuenta de PayPal para pagar a los del canon cada vez que copiamos un CD (de lo que sea).
  • Flip 3D: esta funcionalidad apila las ventanas abiertas con perspectiva 3D, pudiendo movernos por ellas.

En contra

Top 10 Windows Vista Hits & Misses

Vía / DownloadSquad

links for 2006-07-18