HTML CSS Browserweiche
Ok, wir kennen das Problem. Der Internet Explorer benötigt hin und wieder eine besondere Behandlung, wenn man die Webseiten mittels CSS formatieren will. Man verwenden in der Regel 2 Methoden
- Browser Weiche mittels Scriptsprache oder
- über die konditional Kommentare, die der IE mitbringt also
<!--[if IE]> <link rel=”stylesheet” type=”text/css” href=”ie_hacks.css” ><![endif]–>.
Leider funktionieren die konditional Kommentare nicht im CSS Bereich vom IE und somit muss das beim einbinden der CSS Dateien erledigt werden. Muss das wirklich so sein?
Heute bin ich auf einen Artikel auf der Seite Position Is Everthing aufmerksam geworden, der meines erachtens eine sehr nette Methode vorstellt, wie man auf der CSS Seite so eine Browserweiche einrichten kann. Im Grunde ist der Gedanke sehr einfach und effektiv. Direkt nach dem body-Tag wird ein konditional Kommentar gesetzt, dass wenn es sich um einen IE handelt eine div-Box öffnet und analog dazu am Ende der Seite wieder schließt. Jetzt kann man im CSS einfach sagen, wenn das Eltern Element die ID “IEroot” hat, dann bitte hier den IE spezifischen CSS Code anwenden.
/* Jeder Browser sieht dieses Element, aber nur der IE sieht das IEroot Element und wird das Element entsprechen rot umrahmen */
#IEroot #anyelement { border-color : blue; }
Für weitere Ausführung am besten den original Artikel lesen :)