2008-09-05 6 views

Respuesta

10

Esto funciona en todos los navegadores, ya que todo excepto IE ve <!--IGNORED COMMENT-->. Solo IE lee el comentario si contiene una cláusula condicional. Eche un vistazo a this article

También puede especificar qué versión de IE. Por ejemplo:

<!--[if IE 8]> 
<link rel="stylesheet type="text/css" href="ie8.css" /> 
<![endif]--> 
+0

Para agregar un poco, esto es oficialmente compatible con MS, y generalmente se considera una mejor práctica para desarrolladores en los casos en los que debe enfocarse en IE (frente a todos los desarrolladores web de CSS hacks feos utilizados anteriormente). Aquí hay un artículo de MSDN con sintaxis completa: http://msdn.microsoft.com/en-us/library/ms537512.aspx – joelhardi

1

Además de la respuesta de Ross, solo puede orientar el motor de representación de Internet Explorer con comentarios condicionales; no hay construcciones similares para otros navegadores. Por ejemplo, no puede escribir comentarios condicionales dirigidos a Firefox, pero Internet Explorer los ignora.

La forma en que logro el mismo efecto que en el ejemplo anterior es olfatear la cadena del agente de usuario. Luego entrego un archivo CSS adecuado para ese navegador. Esto no es perfecto porque a veces las personas cambian su cadena de agente de usuario por compatibilidad.

La otra forma de dirigirse a diferentes navegadores es utilizar hacks específicos del navegador. ¡Estos son particularmente desagradables porque generalmente se basan en errores en el navegador y es posible que los errores se corrijan!

El sniffing de agente de usuario es, en mi opinión, la mejor solución integral.

1

Si puede utilizar Javascript, hay varias opciones:

navigator.appName 
navigator.appVersion 

link

o algo más robusto mediante el uso de una biblioteca como jQuery.

Finalmente, puede usar el objeto BrowserDetect de QuirksMode.

Una vez que tenga el nombre y la versión del navegador, puede insertar HTML para vincularlo a una hoja de estilos o incluir otras etiquetas.

1

Los comentarios condicionales son puramente para IE (versión 5 y posterior). La documentación oficial de Microsoft es here. Si va a utilizarlos, la mejor estrategia es incluir de forma condicional las hojas de estilo externas o los archivos javascript después de su inclusión normal. Esto significa que en IE su código específico de IE anulará todo lo demás. En cualquier otro navegador, el código será tratado como comentarios e ignorado por el analizador.

Cuestiones relacionadas