I commenti condizionali sono una regola specifica per Microsoft IE e non fanno parte di alcuno standard. Se si seleziona la struttura di un commento condizionale:
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
Come il suo nome implicherebbe, è tutto solo un grande commento <!-- comment -->
. IE controlla i commenti per condizioni come queste che, ancora una volta, non rispettano gli standard HTML.
Per creare codice che non rende in IE, ma vuol rendere in altri browser, è possibile utilizzare il seguente condizionale:
<!--[if !IE]> -->
This will be rendered by anything but IE.
<!-- <![endif]-->
vedere come le condizioni sono racchiusi nei commenti chiusi? Ecco perché viene visualizzato nei normali browser, mentre IE verifica il condizionale e decide di omettere tutto fino allo endif
.
EDIT
Se si desidera aggiungere un'altra condizione, e mantenere il rendering del codice su browser diversi da IE, è possibile utilizzare la seguente soluzione:
<!--[if gt IE 7]> <!-- -->
Here is some code for anything but IE 7 and below.
<!-- <![endif]-->
Nota ho dovuto usare aprire il commento di nuovo per impedire a IE di rendere -->
prima del codice. Altri browser lo considereranno ancora parte del commento.
Desidero che il codice venga visualizzato per IE 8 e IE 9, ma nessuna versione di IE precedente. Voglio anche che il codice venga mostrato in Chrome e Firefox. – Baxter
Finché si chiudono i commenti, suppongo che dovrebbe fare per qualsiasi condizione. – zebasz
L'ho provato, non funziona abbastanza. Ho trovato una soluzione, quindi modifico e aggiungo. – zebasz