Contenido

Elegir CSS desde el servidor o desde el cliente

3 Ene

+ 8

Viendo esta noticia me viene a la cabeza una duda.

¿Elegir el CSS desde el Servidor?


if ($name = strstr ($HTTP_USER_AGENT, "MSIE")) {
	echo '<link rel="stylesheet" href="ie.css">';	
} else if ($name = strstr ($HTTP_USER_AGENT, "Netscape")){
	echo '<link rel="stylesheet" href="netscape.css">';
} else {
	echo'<link rel="stylesheet" href="other.css">';
}

O ¿desde el cliente?

<link href="all_browsers.css" rel="stylesheet" type="text/css">
<!--[if IE]> <link href="ie_only.css" rel="stylesheet" type="text/css"> <![endif]-->
<!--[if lt IE 7]> <link href="ie_6_and_below.css" rel="stylesheet" type="text/css"> <![endif]-->
<!--[if !lt IE 7]><![IGNORE[--><![IGNORE[]]> <link href="recent.css" rel="stylesheet" type="text/css"> <!--<![endif]-->
<!--[if !IE]>--> <link href="not_ie.css" rel="stylesheet" type="text/css"> <!--<![endif]-->
  • Personalmente me parece mas elegante usando PHP en el servidor, pero si pensamos en eficiencia y en quitarle trabajo de procesamiento al server pues le aventamos la bolita y que el cliente se las arregle 😉

  • Lo ideal es que el mismo CSS funcione igual de bien en todos los navegadores, lo que sí es difícil aunque no imposible… lo indispensable es que MSIE no funcione en «Quirks Mode» para que le achunte al modelo de caja correcto

    Claro que si es absolutamente indispensable servir dos hojas distintas, me quedo definitivamente con PHP

  • Opino lo mismo, siempre que se le pueda quitar algo de carga al servidor, bienvenida sea.

  • Todo lo que sea liberar el servidor bienvenido sea.

  • Hombre, únicamente es una comprobación. ¿Creeis que hemos de delegar al cliente esta comprobación?

    No podemos asegurarnos de que el cliente esté preparado para soportar varias de estas,…

    Intento crear debate 😀

  • Yo estoy con los compañeros de arriba, la segunda forma xD.

    Y ya por marear un poco más, en mi caso cargo siempre la misma hoja de estilo (style.css) y después compruebo si el visitante utiliza IE. Si es el caso cargo otra hoja de estilos con las cosillas para que se vea bien en IE (iefixes.css, en mi caso 9 líneas nada más).

    De esta forma me ahorro mantener 2 hojas de estilos y que la original valide correctamente.

  • En estricto rigor, se supone que el cliente debiera poder elegir qué hoja de estilos seguir… Pero sólo sirve para tener CSS diferenciados para IE y el resto de los navegadores, de la misma forma en que podemos setear el media type…

    Al hacerlo con PHP, podemos tener CSS especísficos para determinados user-agents, lo cual bien puede servir de hack para IE, Safari, Firefox, Mosaic…

    Además, y ya que la mayoría de los navegadores de dispositivos móviles se pasan por donde quieren el media type, podemos definir CSS y xHTML diferenciados para ellos, tomando como condición los user-agent (o un array con ellos) de, por ejemplo, Opera-Mini, Blazer, PocketIE, Minimo…

  • Yo creo que no podemos nunca suponer que todos los clientes tienen lo necesario para ver nuestra aplicación de forma adecuada, partiendo de esa premisa creo que debemos siempre mirar de hacer lo más que nos fácilite más el trabajo.

    Como bien dice #6 desde el servidor podemos controlar muchos más factores que desde el cliente, además podemos servirle al cliente lo que necesita en lugar de que sea él el encargado de discriminar que fichero CSS debe coger.

    Quizas cargue más el servidor, pero creo que el servidor generalmente siempre será más potente que la mayoría de pc’s de los clientes…

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.