Tener diferentes hojas de estilo dependiendo del navegador me parece algo horrible ūüôĀ .¬† Pero si por alg√ļn motivo es necesario, podemos emplear una forma bastante f√°cil y limpia mediante PHP (Ref. Andrew Martin).

Para ello, (1) pondremos un CSS base que sea compatible para todos los navegadores y a continuaci√≥n (2) haremos uso del array $_SERVER y del campo donde se cargan las cabeceras con informaci√≥n del navegador del usuario ¬ęHTTP_USER_AGENT¬Ľ.

1. Código CSS base:

<link rel="stylesheet" href="base.css" type="text/css">

2. Código PHP:

$browser = $_SERVER['HTTP_USER_AGENT'];	
if (preg_match('/MSIE.8/i', $browser)) { echo ''; } 
elseif (preg_match('/MSIE.7/i', $browser)) { echo ''; }
elseif (preg_match('/MSIE.6/i', $browser)) { echo ''; }
elseif (preg_match('/MSIE.9/i', $browser)) { echo ''; }
elseif (preg_match('/Firefox.2/i', $browser)) { echo ''; }
elseif (preg_match('/Firefox.3.5/i', $browser)) { echo ''; }
elseif (preg_match('/Firefox.3/i', $browser)) { echo ''; }
elseif (preg_match('/Chrome/i', $browser)) { echo ''; }
elseif (preg_match('/Safari/i', $browser)) { echo ''; }
elseif (preg_match('/Opera/i', $browser)) { echo ''; }
else { echo ''; }

El código escribirá el link con la hoja de estilo correspondiente al navegador empleado por el usuario basándose en la comparación de cadenas.

Si lo que queremos es √ļnicamente discernir la versi√≥n de MSIE, podemos tambi√©n recurrir a los comentarios condicionales de Internet Explorer.

Para hacer las pruebas necesarias con los diferentes navegadores, podemos descargarlos o emularlos.

Reconozco haber pasado cientos de horas intentando entender a nuestro inseparable compa√Īero Internet Explorer, he pataleado y hasta desear√≠a hacerle budu. Pero hay que reconocer que no todo lo malo es tan malo, y ahora que ha salido el nuevo Firefox versi√≥n 3.5 es para dar cuenta de ello.

Continue reading ¬ęA√Īadir tab en Firefox 3.5¬Ľ