moziloCMS Supportforum

moziloCMS => Tipps und Tricks => Thema gestartet von: AtariRiot am 09. Mai 2009, 18:16:38

Titel: Internet Explorer 5,6 Kompatibilität mit CSS Switcher
Beitrag von: AtariRiot am 09. Mai 2009, 18:16:38
Beim erstellen einer Seite viel mir auf, dass der Internet Explorer 6 meine DIVs um ein paar Pixel
nach links verschoben hatte (20px). Da dank Microsoft ja dann wohl noch mehr Bugs zu Tage
kommen dürften, dachte ich mir, dass ich dem IE6 eine eigene Style.CSS Datei spendiere, wo
ich Sonderbehandlungswünsche seitens des IE6 abhandeln könnte. Mit Erfolg:

- Erstmal erstellt man im css Ordner des zu benutzenden Layouts eine 2te css Datei. Am besten
  man kopiert (dulpiziert) die style.css und nennt sie styleie6.css. Die style.css benutzen wir weiterhin
  für IE8 oder Firefox, u.s.w., die styleie6.css für die Extra Wünsche des IE6.
- Nun öffnen wir die template.html und suchen folgende Zeile:
 <link href="layouts/{LAYOUT_DIR}/css/style.css" rel="stylesheet" type="text/css" media="screen" />
  darunter schreiben wir:
<!--[if IE 6]>
<link href="layouts/{LAYOUT_DIR}/css/styleie6.css" rel="stylesheet" type="text/css" media="screen" />
<![endif]-->
- und speichern das ganze.

Nun wird vorher geprüft ob mit dem IE6 gesurft wird, und wenn ja: benutzt er die styleie6.css ansonsten die style.css
Das ganze lässt sich beliebig weiter durchspielen. Man kann auch Extrawünsche für IE5 oder IE5 höher oder tiefer definieren,u.s.w. Möglich ist:

IE wenn Internet Explorer (ab IE5) <!–[if IE]>
IE 5 wenn Internet Explorer Version 5.x  <!–[if IE 5]>
IE 5.0 wenn Internet Explorer Version 5.0  <!–[if IE 5.0]>
IE 5.5 wenn Internet Explorer Version 5.5  <!–[if IE 5.5]>
IE 6 wenn Internet Explorer Version 6  <!–[if IE 6]>
IE 7 wenn Internet Explorer Version 7  <!–[if IE 7]>

Noch mehr einkreisen lässt sich das wie folgt:

Operator| Funktion| Beispiel
! Nicht <!–[if !IE 6]> (wenn nicht IE 6)
lt Kleiner-als <!–[if lt IE 6]> (wenn kleiner als IE 6)
lte Kleiner-gleich <!–[if lte IE 6]> (wenn kleiner als oder gleich IE 6)
gt Größer-als <!–[if gt IE 6]> (wenn größer IE 6)
gte Größer-gleich <!–[if gte IE 6]> (wenn größer als oder gleich IE 6)


greetz, Atari