86 votos

<!--[if !IE]> not working

Estoy teniendo problemas para conseguir

<!--[if !IE]>

a trabajar. Me pregunto si es porque tengo esto en mi documento

<!doctype html>
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]>    <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]>    <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="">
<!--<![endif]-->

Cuando agrego

<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="http://stackoverflow.com/stylesheets/no-ie.css" />
<!--<![endif]-->

a mi encabezado por alguna razón no funciona. Sin embargo si puedo agregar

<!--[if !IE]><!-->
    <style>
        All my css in here
    </style>
    <!--<![endif]-->

para la página html actual (en el encabezado) funciona. Alguna sugerencia? Saludos

Actualización a mi pregunta

Ok, cuando me he quitado <!-->I sólo se comprueba en IE que estaba trabajando, pero ahora, de vuelta en FF no-ie.css aplicados a las FF. Así que he añadido de nuevo en la <!-->y se eliminan de la / (y añadió que en la plantilla principal para el cms no se vuelve a agregar) y todo está funcionando de nuevo en FF pero ahora la hoja de estilos se aplican a IE! Así que traté de

<!--[if IE]>
<link type="text/css" rel="stylesheet" href="http://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->

y

<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="http://stackoverflow.com/stylesheets/no-ie.css">
<!-- <![endif]-->

Y que no funciona. Básicamente estoy tratando de llegar a esta página para trabajar http://css-tricks.com/examples/ResponsiveTables/responsive.php pero mover el css a una hoja de estilo. Seguramente tiene que ser simple. ¿Qué me estoy perdiendo? Yo prefiero no usar JQuery si no tengo. Saludos

142voto

Thinking Puntos 1050
<!--[if !IE]><!--><script src="zepto.min.js"></script><!--<![endif]-->
<!--[if IE]><script src="jquery-1.7.2.min.js"></script><![endif]-->

46voto

user1324409 Puntos 395

Los navegadores que no sean IE tratar de las sentencias condicionales como comentarios, ya que está encerrado dentro de etiquetas de comentario.

<!--[if IE]>
Non-IE browsers ignore this
<![endif]-->

Sin embargo, cuando usted está apuntando a un navegador que NO sea IE tienes que usar 2 comentarios, uno antes y uno después del código. Es decir se omita el código entre ellos, mientras que otros navegadores van a tratar como normales código. La sintaxis para la orientación no-IE de los navegadores es por lo tanto:

<!--[if !IE]-->
IE ignores this
<!--[endif]-->

13voto

Francis Puntos 111

Yo uso ese y funciona :

<!--[if !IE]><!--> if it is not IE <!--<![endif]-->

11voto

Charmander Puntos 1560

El Microsoft-sintaxis recomendada para el nivel inferior-reveló condicional "comentarios" es este:

<![if !IE]>
<link type="text/css" rel="stylesheet" href="http://stackoverflow.com/stylesheets/no-ie.css" />
<![endif]>

Estos no son comentarios, pero de que funciona correctamente.

7voto

BorisD Puntos 862

Primero de todo, la sintaxis es:

<!--[if IE 6]>
<link type="text/css" rel="stylesheet" href="http://stackoverflow.com/stylesheets/ie6.css" />
<![endif]-->

Pruebe este post: http://www.quirksmode.org/css/condcom.html y http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

Otra cosa que puedes hacer:

Comprobar navegador con jQuery:

if($.browser.msie){ // do something... }

en este caso, usted puede cambiar las reglas css para algunos de los elementos o agregar css nuevo enlace de referencia:

lea esto: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X