Emezeta.com

Trucos HTML: condicional en Internet Explorer


Dentro de la gran cantidad de chapucerías con respecto a los estándares W3C que han cometido nuestros amigos de Microsoft en su querido Internet Explorer, hubo algún desarrollador que tuvo una brillante idea: la de implementar un sistema de condicionales dentro de un comentario SGML.

Me explico. El motor del Internet Explorer es capaz de reconocer dentro de un <!-- comentario --> un condicional con el cuál indicarle hacer una acción determinada si el navegador usado es el que se especifica. El formato es el siguiente:

<!--[if (condicional) IE (versión)]>
... código HTML ...
<![endif]-->

Donde condicional es:

  • gte : mayor o igual que
  • gt : mayor que
  • lt : menor que
  • lte : menor o igual que
  • (nada) : igual que

Y en versión podemos indicar la versión del Internet Explorer deseada. Así podrían quedar cosas como las siguientes:

Si nuestro navegador es anterior al IE6...
<!--[if lt IE 6 ]>
Tu versión de Internet Explorer es demasiado antigua.
<![endif]-->

Si nuestro navegador es superior al IE5.5 carga una hoja de estilos determinada...
<!--[if gte IE 5.500 ]>
<link rel="stylesheet" type="text/css" href="estilosIE.css">
<![endif]-->

Si nuestro navegador es IE en cualquier versión...
<!--[if IE]>
¡Estás usando Internet Explorer! ¿Porqué no te bajas Firefox? ;-)
<![endif]-->

Esto puede ser ideal para diseñar soluciones y CSS Hacks para webs estándar que están perfectamente diseñadas pero se ven mal en el navegador del lado oscuro... al menos hasta que salga el esperado IE7.