Ooit al eens voorgehad dat Internet Explorer iets niet ondersteunt zoals het hoort?
Voor deze zeldzame gevallen heeft Microsoft namelijk zelf een oplossing bedacht. Ze geven onder bepaalde voorwaarden zaken weer die door geen enkele andere browser ondersteund worden (*kuch hasLayout, boxbordermodel, ..).
Zo kan je bepaalde delen html code uitschakelen of juist alleen weergeven op Internet Explorer..
Deze tekst wordt alleen herkend door Internet Explorer. Je gebruikt versie 55.05.5678,9,10 of later
Deze tekst wordt genegeerd door Internet Explorer.
Hoe zit dit precies in elkaar?
Laten we bovenstaand voorbeeld eens in stukken ontleden:
<!--[if IE]>Deze tekst wordt alleen herkend door Internet Explorer. Je gebruikt versie <![endif]-->
We schrijven eerst een <!–comment–>, om hier dan vervolgens een voorwaarde tussen [vierkante haakjes] te plaatsen. Vervolgens sluiten we deze voorwaarde af met [endif].
In dit geval is de voorwaarde if IE, wat zoveel wil zeggen als wanneer we hier te maken hebben met Internet Explorer.
<!--[if IE 5]>5<![endif]-->
<!--[if IE 5.0]>5.0<![endif]-->
<!--[if IE 5.5]>5.5<![endif]-->
<!--[if IE 6]>6<![endif]-->
<!--[if IE 7]>7<![endif]-->
<!--[if gt IE 7]>8,9,10 of later
<![endif]-->
Hier stellen we telkens een verschillende voorwaarde, zoals bvb if IE 5.0, dat vanzelfsprekend Wanneer je Internet Explorer 5.0 gebruikt wil zeggen.
Wat wil if gt IE 7 nu zeggen?
Wel, het is natuurlijk al pure fun dat we specifieke browserversies van Internet Explorer kunnen selecteren, maar je kan nog meer doen:
| Voorwaarde | Betekenis |
|---|---|
| gt | Groter dan |
| gte | Groter dan of gelijk aan |
| lt | Kleiner dan |
| lte | Kleiner dan of gelijk aan |
Dankzij deze voorwaarden kan je dus héél precies je gewenste Internet Explorer browser(s) selecteren.
<!--[if !IE]><!-->Deze tekst wordt genegeerd door Internet Explorer<!--<![endif]-->.
Door een uitroepingsteken te gebruiken sluit je Internet Explorer uit. Let ook op de 2 kleine comments in de plaats van 1 grote. Hierdoor zien de andere browsers nog steeds wat ertussen staat.
Kunnen jullie ook raden wat onderstaand stukje code doet?
<!--[if gte IE 6]><!-->Door welke browsers wordt ik weergegeven?<!--<![endif]-->
Ook nog interessant: ondanks dat geneste links illegaal zijn kan Internet Explorer 6 en vroeger deze toch nog op een logische manier weergeven. Als je dit dus combineert met Conditional Comments om de geneste links alleen aan deze browsers te tonen, kan je leuke dingen doen met de css :hover zonder if lte IE6 uit te sluiten.
Later meer hierover
.