Bei
selfhtml ist folgendes zu finden ...
vielleicht hilft dir das weiter
Wichtig, so denke ich, könnte die ausschließende Zeile sein:
<style type="text/css">@import url(modern_ohne_ie.css) all;</style>
Alternative CSS-Dateien für den Internet Explorer
Der Internet Explorer setzt zwar die für CSS-basierte Layouts erforderlichen Definitionen größtenteils um und muss nicht wie andere ältere Browser hiervon ausgeschlossen werden; die Umsetzung ist aber oft fehlerhaft oder unvollständig, so dass eine Korrektur oder alternative Definitionen erforderlich werden können. Eine Möglichkeit hierfür ist, zunächst die nach den Spezifikationen des W3C korrekten CSS-Anweisungen zu notieren und anschließend eine spezielle CSS-Datei nur für den Internet Explorer einzubinden. Erfreulicher Weise bietet Microsoft dazu mit den 'conditional comments' eine valide Lösung für den Internet Explorer für Windows (die Mac-Versionen sind ohnehin bezüglich der CSS-Umsetzung nicht vergleichbar). Hierbei handelt es sich um spezielle HTML-Kommentare mit einer Bedingung, die der Internet Explorer ab der Version 5 auswertet und hiervon abhängig den im Kommentar enthaltenen HTML-Code ausführt oder nicht. Für alle anderen Browser handelt es sich lediglich um Kommentare, deren Inhalt ignoriert wird.
Die folgenden Beispiele zeigen die Einbindung einer CSS-Datei für alle Browser, einer CSS-Datei nur für moderne Browser mit Ausnahme des Internet Explorers und nachfolgend einige über conditional comments eingebundene CSS-Dateien:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>CSS-basiertes Layout</title>
<link rel="stylesheet" type="text/css" href="basis.css">
<style type="text/css">@import url(modern_ohne_ie.css) all;</style>
<!--[if IE]>
<style type="text/css">@import url(ie.css);</style>
<![endif]-->
<!--[if IE 6]>
<style type="text/css">@import url(ie6.css);</style>
<![endif]-->
<!--[if gte IE 5.5]>
<style type="text/css">@import url(ie55+.css);</style>
<![endif]-->
<!--[if lte IE 5.5999]>
<style type="text/css">@import url(ie55-.css);</style>
<![endif]-->
<!--[if lt IE 5.1]>
<style type="text/css">@import url(ie50.css);</style>
<![endif]-->
</head>
<body>
<!-- HTML-Quelltext -->
</body>
</html>
Erläuterung:
Wie Sie an den Beispielen sehen, können auch Versionsangaben gemacht werden, die der Internet Explorer mit seiner im Windows-System eingetragenen Versionsnummer vergleicht (wenn Sie zum Testen mehrere Browserversionen installiert haben, wird daher immer die Version des Betriebssystems verwendet).
Die in den conditional comments referenzierten CSS-Dateien werden von folgenden Versionen des Internet Explorers geladen:
[if IE]: alle Versionen (ab 5.0),
[if IE 6]: alle 6er-Versionen,
[if gte IE 5.5]: alle Version ab 5.5 (greater-than or equal = größer oder gleich),
[if lte IE 5.5999]: alle Version bis 5.5 (less-than or equal = kleiner oder gleich),
[if lt IE 5.1]: Version 5.0x (less-than = kleiner als).
In der Praxis ist meist nur eine Unterscheidung zwischen Versionen ab 6 und älteren erforderlich, da der Internet Explorer ab der Version 6 im standardkompatiblen Modus einige Fehler der Vorgänger nicht mehr macht und insbesondere das vom W3C spezifizierte Seite Box-Modell korrekt anwendet. Eine Differenzierung erübrigt sich meist ganz, wenn der Internet Explorer 6 in den abwärtskompatiblen Quirks-Modus versetzt wird, was auch ein beliebiger HTML-Kommentar (oder bei XHTML die Angabe der Seite XML-Deklaration) in der ersten Zeile des Quelltextes bewirkt, da dieser Browser den folgenden Doctype dann nicht mehr erkennt. Beachten Sie aber, dass dieser Fehler im Internet Explorer 7 voraussichtlich behoben sein wird.
------------------
Gruß, der Teddibaer
Besucht mich doch einmal ... oder ... auch zweimal ...
-----------------------------------------------------------------
Es gibt nichts Gutes, ausser man tut es
[Diese Nachricht wurde von Teddibaer am 19. Okt. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP