Zum Inhalt springen

Conditional Comments – Was ist das?

  • Luisa Bode 
  • Zuletzt aktualisiert am
  • Lesezeit ca. 2 min.
d83880f48781402b95a88786222dd15f Conditional Comments - Was ist das?

Conditional Comments sind veraltete Kontrollstrukturen in HTML-Dokumenten, die nur vom Microsoft Internet Explorer bis einschließlich der Version 9 und Programmen aus der Microsoft-Office-Reihe interpretiert wurden. Damit war es möglich, Unzulänglichkeiten im Rendering-Verhalten der Browser aus dem Hause Microsoft mit spezifischen CSS-Anweisungen Herr zu werden.

Obwohl bedingte Kommentare in HTML-Dokumenten durch andere, modernere Kontrollstrukturen wie Media Queries ersetzt wurden, gibt es immer noch ein paar Situationen, in denen ihre Verwendung hilfreich sein kann. Vor allem bei älteren Versionen des Internet Explorers kann es notwendig sein, bedingte Kommentare zu verwenden, um sicherzustellen, dass die richtigen CSS-Regeln angewendet werden.

Was sind Conditional Comments?

Bedingte Kommentare sind eine Möglichkeit, bestimmte Versionen des Internet Explorers mit spezifischen CSS-Anweisungen zu versehen. Dies kann hilfreich sein, um sicherzustellen, dass ältere Versionen des IE Websites korrekt anzeigen.

Die Verwendung erfolgt analog zu echten HTML-Kommentaren: <!-- Kommentar -->
<!--[if 'Bedingung']>Anweisungen<![endif]-->

Der Internet Explorer prüft die formulierte Bedingung und interpretiert den Inhalt, wenn die Bedingung zutrifft. Es ist durch vorgegebene Vergleichsoperatoren und -werte möglich, unterschiedliche Versionen des Browsers anzusprechen. Andere User Agents interpretieren diese Struktur als syntaktisch korrekten Kommentar und ignorieren den Inhalt.

Bei der Verwendung des standardkonformen Modus entfällt im Internet Explorer ab Version 10 die Möglichkeit, Conditional Comments zu nutzen. Das Konstrukt wird dann ebenfalls nur als Kommentar behandelt.

https://de.wikipedia.org/wiki/Conditional_Comments#HTML-Syntax
WertFunktionBeispiel
! IEwenn kein Internet Explorer<!--[if !IE]>
IEwenn Internet Explorer<!--[if IE]>
IE 5.5wenn Internet Explorer Version 5.5<!--[if IE 5.5]>
IE 8wenn Internet Explorer Version 8<!--[if IE 8]>
msowenn Microsoft Office<!--[if mso]>
mso 15wenn Microsoft Office 2013<!--[if mso 15]>
vmlwenn VML unterstützt wird<!--[if vml]>
Mögliche Werte (Auswahl)

Wenn es nötig wird, können Bedingungen auch geklammert werden.

OperatorFunktionBeispiel
!Nicht-Operator<!--[if!(IE 6)]> (wenn nicht IE 6)
ltKleiner-als-Operator<!--[if lt IE 6]> (wenn kleiner als IE 6)
lteKleiner-gleich-Operator<!--[if lte IE 6]> (wenn kleiner als oder gleich IE 6)
gtGrößer-als-Operator<!--[if gt IE 6]> (wenn größer IE 6)
gteGrößer-gleich-Operator<!--[if gte IE 6]> (wenn größer als oder gleich IE 6)
&Und-Operator<!--[if mso &!vml]> (wenn Office-Programm ohne VML-Unterstützung)
|Oder-Operator<!--[if mso | ie]> (wenn Office-Programm oder IE)

Wofür benötigt man Conditional Comments?

Es gibt immer noch ein paar Situationen, in denen ihre Verwendung hilfreich sein kann. Vor allem bei älteren Versionen des Internet Explorers kann es notwendig sein, bedingte Kommentare zu verwenden, um sicherzustellen, dass die richtigen CSS-Regeln angewendet werden.

Luisa Bode