2010-10-18 7 views
31

Cómo puedo usar estoFIX CSS <! - [if lt IE 8]> en el IE

<!--[if lt IE 8]> 
    <style type='text/css'> 
    #header ul#h-menu li a{font-weight:normal!important} 
    </style> 
    <![endif]--> 

Si quito <!--[if lt IE 8]><![endif]--> Por encima de código te correr bien en IE 8 pero si yo no corro Ayúdame con IE fijo, si quiero en el código anterior en todas las versiones de IE.

i quieren código #header ul#h-menu li a{font-weight:normal!important} plazo sólo en IE

+1

¿Qué desea lograr en primer lugar? –

+0

Sea cual sea el estilo en su sentencia condicional se ejecutará en todas las versiones de IE inferiores a IE 8. Pero no estoy seguro de lo que quiere, ese código no tendrá ningún efecto en IE 8 ya que apunta a todos los navegadores inferiores a IE 8 ¿Puedes explicarme qué es exactamente lo que quieres? – Christophe

+0

quiero código #header ul # h-menu li a {font-weight: normal! Important} ejecutar solo en IE – meotimdihia

Respuesta

68

Si quieres que esto funcione en IE 8 y por debajo, utilice

<!--[if lte IE 8]> 

lte significa "menor o igual".

Para obtener más información sobre los comentarios condicionales, consulte p. Ej. el quirksmode.org page.

+1

Y puede ser una buena práctica poner solo una referencia a una hoja de estilo externa en su comentario condicional. Mejor legibilidad en mi opinión. –

+2

@Justus: Y mejor cacheability junto con código fuente HTML más pequeño, también. – Tomalak

2

¿Qué tal

<!--[if IE]> 
... 
<![endif]--> 

Usted puede leer acerca de los comentarios here condicionales.

+0

esto funcionará porque activará todas las versiones de IE. Sin embargo, es posible que prefiera utilizar la versión 'lte IE 8' porque es posible que no desee que se ejecute en IE9. – Spudley

+0

OP solicitado "solo en IE", sin más especificaciones. De lo contrario, sí, el 'lte IE8' seguramente sería mejor. – Boldewyn

0
<!--[if IE]> 
    <style type='text/css'> 
    #header ul#h-menu li a{font-weight:normal!important} 
    </style> 
    <![endif]--> 

aplicarán ese estilo en todas las versiones de IE.

25
<!--[if lt IE 8]><![endif]--> 

El lt en la declaración anterior significa menos de, entonces 'si es menor que IE 8'.

Para todas las versiones de IE sólo puede utilizar

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

o para todas las versiones anteriores es decir, 6 por ejemplo.

<!--[if gt IE 6]><![endif]--> 

Dónde GT es 'mayor que'

Si desea escribir estilos específicos para las versiones a continuación y que incluyen IE8 puede escribir

<!--[if lte IE 8]><![endif]--> 

donde LTE es 'inferior e igual 'a

6

[if lt IE 8] significa "si es menor que IE8" - y es por eso que no funciona en IE8.

wahat que desea es [if lte IE 8] que significa "si es menor o igual que IE8".

6

Utilice <!-- [if lt IE 9] > para calcular este código para IE9.Los espacios son muy importantes.

1

Además, la etiqueta de comentario

<comment></comment> 

sólo se admite en el IE 8 y por debajo, así que si eso es exactamente lo que estamos tratando de alcanzar, que podría envolver en etiqueta de comentario. Son los mismos que

<!--[if lte IE 8]><![endif]--> 

En qué LTE significa "menor o igual a".

Ver: Conditional Comments.

2
I found cascading it works great for multibrowser detection. 

Este código se utiliza para cambiar un fundido para mostrar/ocultar en el IE 8 7 6.

$(document).ready(function(){ 
    if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 8.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     { if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 7.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     {if(jQuery.browser.msie && jQuery.browser.version.substring(0, 1) == 6.0) 
     { 
      $(".glow").hide(); 
      $('#shop').hover(function() { 
     $(".glow").show(); 
    }, function() { 
     $(".glow").hide(); 
    }); 
     } 
     else 
     { $('#shop').hover(function() { 
     $(".glow").stop(true).fadeTo("400ms", 1); 
    }, function() { 
     $(".glow").stop(true).fadeTo("400ms", 0.2);}); 
     } 
     } 
     } 
     });