Joomla-Tipps.net

Conditional Comments im IE


TippÜbersetzung des Artikels Conditional comments auf http://www.quirksmode.org. Die Genehmigung für die Übersetzung liegt vor.

Conditional Comments arbeiten nur im Internet Explorer unter Windows und sind damit am besten geeignet, nur für den Internet Explorer bestimmte Anweisungen zu geben. Sie werden ab dem IE 5 unterstützt, es ist sogar möglich zwischen den Versionen 5.0, 5.5, 6.0 und 7 zu unterscheiden.

Conditional comments sind wie folgt aufgebaut:
<!--[if IE 6]>
Anweisungen nur für den IE 6 hier
<![endif]-->
  1. In ihrer Grundstruktur sind sie das gleiche wie ein HTML-Kommentar (<!-- -->). Daher werden alle anderen Browser diese als normale Kommentare ansehen und vollkommen ignorieren.
  2. Der IE unter Windows erkennt allerdings die spezielle <!--[if IE]> Syntax, indem er den Inhalt des Conditional Comments so interpretiert, als sei es normaler HTML-Code
  3. Da der HTML Kommentar-Tag benutzt wird, können Conditional comments nur in HTML Dateien eingebunden werden, in CSS Dateien zum Beispiel nicht. Ich hätte diese Styles lieber in die CSS Datei untergebracht, es ist aber nicht möglich. Es ist aber möglich innerhalb eines Conditional Comments ein neues <link> Tag einzubinden, welches auf ein anderes CSS Stylesheet verweist.

Beispiel

Unten sind einige Conditional Comments aufgeführt, die abhängig von der verwendeten IE Version Meldungen ausgeben.

Anmerkung: Falls Sie auf einem Rechner mehrere Versionen des IE verwenden, werden die Meldungen abhängig von der höchsten IE Version ausgegeben, die installiert ist (z.B IE 6.0).

Test
Unten sind einige Conditional Comments aufgeführt, welche abhängig von Ihrer IE Version ausgegeben werden. Wenn keine angezeigt werden, wird der IE nicht eingesetzt.

Code
Folgende Syntax wurde für dieses Beispiel genutzt:
<p><!--[if IE]>
Nach dem conditional comment nutzen Sie den Internet Explorer<br />
<![endif]-->
<!--[if IE 5]>
Nach dem conditional comment nutzen Sie den Internet Explorer 5<br />
<![endif]-->
<!--[if IE 5.0]>
Nach dem conditional comment nutzen Sie den Internet Explorer 5.0<br />
<![endif]-->
<!--[if IE 5.5]>
Nach dem conditional comment nutzen Sie den Internet Explorer 5.5<br />
<![endif]-->
<!--[if IE 6]>
Nach dem conditional comment nutzen Sie den Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
Nach dem conditional comment nutzen Sie den Internet Explorer 7<br />
<![endif]-->
<!--[if gte IE 5]>
Nach dem conditional comment nutzen Sie den Internet Explorer 5 und höher<br />
<![endif]-->
<!--[if lt IE 6]>
Nach dem conditional comment nutzen Sie den Internet Explorer kleiner als Version 6<br />
<![endif]-->
<!--[if lte IE 5.5]>
Nach dem conditional comment nutzen Sie den Internet Explorer 5.5 oder kleiner<br />
<![endif]-->
<!--[if gt IE 6]>
Nach dem conditional comment nutzen Sie den Internet Explorer größer als 6<br />
<![endif]-->
</p>

Beachten Sie die besondere Syntax :

CSS hack?

Sind Conditional Comments CSS hacks? Genau gesehen, ja. Sie können dazu dienen, bestimmte Style Anweisungen für einige Browser aufzubauen. Jedoch nutzen sie nicht einen Bug eines Browser aus, um einen anderen Fehler zu beheben, so wie es bei CSS Hacks der Fall ist. Nebenbei können sie für mehr eingesetzt werden als es CSS Hacks könnten (dies geschieht allerdings selten).

Da Conditional Comments nicht auf einen Browser Hack basieren, sondern auf einem absichtlich eingefügten Feature, glaube ich, daß diese ohne Bedenken eingesetzt werden können. Andere Browser könnten conditional comments irgendwann auch unterstützen (im Moment ist dies nicht der Fall), aber es ist unwahrscheinlich, daß diese auf '< !--[if IE] >' reagieren werden.

Ich setze Conditional Comments dennoch selten ein. Zuerst versuche ich, eine CSS Lösung für ein IE Problem zu finden. Wenn dies nicht möglich ist, zögere ich nicht, diese einzusetzen.

[Ende der Übersetzung]


Hits: 5772
Trackback(0)
Kommentare (1)add comment

Inf0rmix said:

Ganz ehrlich : Grausam was der IE der welt antut!
Oktober 05, 2007

Kommentar schreiben
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
kleiner | groesser

security image
Bitte den folgenden Code eintragen


busy