Browserweichen
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist. |
--Yehudi 17:13, 31. Okt 2006 (CET)
Inhaltsverzeichnis
Browserabhängige externe Stylsheets
Um mit dem dem Netscape Communicator ein anderes Steelsheet zuzuweisen eignet sich folgender Code:
<title>Stylesheet für NN 4</title> <link rel="stylesheet" typ="text/css" href="standard.css"> <style typ="text/css"><!- @import url ("ohne_nn4.css"); --></style>
Conditional Comments
Conditional Comments werden nur vom Internetexplorer in verschiedenen Versionen erkannt:
<!--[if IE 5]> Dort gehört der code für den IE rein <![endif]-->
-(Dieser Hack befindet sich derzeit bei mir nicht im praktischen Einsatz, und ist von mir nicht getestet)
Boxmodell-Hack
Der Boxmodell Hack ist auch nur dafür da, um fehlerhafte Darstellungen im Internet-Explorer bis Version 5.5 zu umgehen.
.content { CSS-Anweisung; voice-family: "\"}\""; voice-family: inherit; CSS-Anweisung; }
Bis zum IE 5.5 wird die untere Anweisung nicht gelesen, ursprünglich wurde er erfunden, um unkorrekte Darstellung der Weite im IE bis 5.5 zu korrigieren, der Hack ist aber auch für andere Anweisungen brauchbar.
-(Dieser Hack befindet sich derzeit bei mir nicht im praktischen Einsatz, und ist von mir nicht getestet)
Deutsche Version
Original Version
Möglichkeiten mit Java-Script
-(Dieser Hack befindet sich derzeit bei mir nicht im praktischen Einsatz, und ist von mir nicht getestet)
Browserweichen mit Selektoren
Universalselektor
Im Internet-Explorer 4 wird das Hintergrund-Image auf http://www.yehudi.de nicht geladen, aber die Farbe, die für die Seite verantwortlich ist, dadurch wird die ganze Seite grau, und der Seitenrand rechts hebt sich nicht mehr ab. Hier hilft folgender Hack:
html, body { height: auto; background: url(images/snap_ground.png) top center repeat-y #e8e8e8; text-align: center; } * html, body { background: #ffffff; } * html html, body { background: #e8e8e8; }
Die Darstellung (als Vergleich) des Internet-Explorer 4 ist hier zu finden: http://www.yehudi.de/internet-explorer-4-os-9.htm
Attributselektor
Der Internet-Explorer (bis 6 zumindest) und Netscape 4 können die zweite CSS-Anweisung nicht lesen.
a[href]{ css-Anweisung} a[href]{ css-Anweisung}
-(Dieser Hack befindet sich derzeit bei mir nicht im praktischen Einsatz, und ist von mir nicht getestet)
Stern-html-Hack
Dieses kann eingesetzt werden, um Werte für den Internet-Explorer ab Version 5 anders darzustellen. Auf meiner Seite http://www.engefuerst.de tritt das Problem auf, das im Internet-Explorer 5-6 der Header um zwei Pixel nach links verrutscht war. Da der IE ab Version 5-6 die falsche Aussage * html nicht wie die anderen Browser interpretiert, und die Werte liest, werden die vorrangegangenen Werte überschrieben.
Das sieht dann an der Stelle so aus:
#header { background: url('images/header.jpg') no-repeat; padding: 0px; margin-left: 2px; width: 804px; height: 176px; } *html #header { margin-left: 4px; }
Stern-Kind-Selektor-html-Hack
-(Dieser Hack befindet sich derzeit bei mir nicht im praktischen Einsatz, und ist von mir nicht getestet)
Komentar-Hacks
CSS-Anweisung für den Internet-Explorer 5 am Mac
* html, body { background: #ffffff; /*\*//*/ background: #e8e8e8; /**/ }
Im oben benannten Universalselektorergab sich das Problem, dass der IE auf dem Mac die Seite das Weiß an den Rändern zeigt. Durch die gleich danach folgende Anweisung, wurde die Problematik dort auch behoben.
einzelne Browserabhängige CSS-Anweisungen
Trick mit dem Unterstrich
!important als Browserweiche
Auf http://www.engelfuerst.de setze ich rechts auf der Sidebar runde Ecken ein, diese werden aber von dem Internet Explorer bis Version 6 völlig falsch dargestellt. !important verhindert das überschreiben einer darauffolgenden CSS-Anweisung. Der Internet-Explorer und Netscape 4 kennen diese Regel nicht, und überschreiben mit der nachfolgenden Anweisung den bisherigen Wert. Der Wert none schaltet dann mit einem Schlag die runden Ecken ab, so, dass nun ein vertretbares Aussehen mit eckigen Ecken statt mit runden Ecken zustande kommt. Ab Internet-Explorer 7 werden die runden Ecken korrekt dargestellt, und auch die important-Regel gelesen.
.rtop *, .rbottom *{ display: block !important; display: none; height: 1px; overflow: hidden, background:#e7e7e7; padding-left: 22px; margin-left: 521px; width: 240px; }
Links
- http://www.drweb.de/html/conditional_comments.shtml
- http://www.drweb.de/trickkiste/tricks76.shtml
- http://www.css4you.de/wsbw/index.html
- http://aktuell.de.selfhtml.org/artikel/css/browserweiche/
- http://www.webkrauts.de/2004/12/18/conditional-comments-fuer-den-internet-explorer/
- http://www.aboutwebdesign.de/awd/content/1004214286.shtml