2010-10-18 19 views
31

Come posso usare per questoFIX CSS <! - [if IE 8 lt]> in IE

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

Se rimuovo <!--[if lt IE 8]><![endif]--> Sopra codice 'll eseguito bene in IE 8 ma se non lo faccio correre Aiutami con fisso IE, se voglio nel codice sopra in tutta la versione di IE ,.

voglio codice #header ul#h-menu li a{font-weight:normal!important} periodo solo in IE

+1

Che cosa si vuole raggiungere, in primo luogo? –

+0

Qualunque sia lo stile nella tua istruzione condizionale verrà eseguito in tutta la versione di IE inferiore a IE 8. Ma non sono sicuro di quello che vuoi, quel codice non avrà alcun effetto in IE 8 in quanto si rivolge a tutti i browser inferiori a IE 8 Per favore, potresti spiegare cosa vuoi esattamente? – Christophe

+0

voglio codice #header ul # h-menu li a {font-weight: normal! Important} esegui solo in IE – meotimdihia

risposta

68

Se si desidera far funzionare tutto questo in IE 8 e sotto, utilizzare

<!--[if lte IE 8]> 

lte che significa "minore o uguale".

Per ulteriori informazioni sui commenti condizionali, vedere ad es. il quirksmode.org page.

+1

E potrebbe essere una buona pratica mettere solo un riferimento a un foglio di stile esterno nel tuo commento condizionale. Migliore leggibilità secondo me. –

+2

@Justus: una migliore possibilità di memorizzazione in cache e anche un codice sorgente HTML più piccolo. – Tomalak

2

Come su

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

Si può leggere su here commenti condizionali.

+0

funzionerà perché attiverà tutte le versioni di IE. Comunque potresti preferire usare la versione 'lte IE 8' perché potresti non volerlo eseguire in IE9. – Spudley

+0

L'OP ha richiesto "solo in IE", senza ulteriori specifiche. Altrimenti, sì, il 'lte IE8' sarebbe sicuramente migliore. – Boldewyn

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

applicherà tale stile in tutte le versioni di IE.

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

Il lt nell'istruzione precedente indica meno di, quindi 'se inferiore a IE 8'.

Per tutte le versioni di IE si può semplicemente utilizzare

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

o per tutte le versioni di cui sopra vale a dire 6, per esempio.

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

Dove gt è 'maggiore di'

Se volete scrivere stili specifici per le versioni inferiori e tra IE8 è possibile scrivere

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

dove LTE è 'minore e uguale 'a

6

[if lt IE 8] significa "se inferiore a IE8" e questo è il motivo per cui non funziona in IE8.

che si desidera è [if lte IE 8] che significa "se inferiore o uguale a IE8".

6

Utilizzare <!-- [if lt IE 9] > esatto questo codice per IE9. Gli spazi sono molto importanti.

1

Inoltre, il tag di commento

<comment></comment> 

è supportata solo in IE 8 e al di sotto, quindi, se questo è esattamente quello che stai cercando di indirizzare, si potrebbe avvolgere in tag di commento. Sono uguali a

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

In cui lte significa "minore o uguale a".

Vedere: Conditional Comments.

2
I found cascading it works great for multibrowser detection. 

Questo codice è stato utilizzato per modificare una dissolvenza per mostrare/nascondere in 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);}); 
     } 
     } 
     } 
     });