Inhalt

CSS-Wiki.com

CSS Wiki.com CSS 2.1 und CSS 3 Alle CSS­Eigenschaften auf einen Blick! CSS-Wiki.com

Internet Explorer 8

Multiple-Type-ID-Hack

Anders als bei den Star-HTML-Hack bzw. Star-Plus-HTML-Hack für IE 6 und 7 ist der Multiple-Type-ID-Hack ein Hack, der nicht speziell für den IE 8 eine CSS-Anweisung möglich macht, sondern genau umgekehrt, es wird eine CSS-Anweisung geschrieben, der Internet Explorer 8 wird aktiv davon ausgeschlossen.

CSS Code-Beispiel

#box {
   background-color : red;
}
#a#b, #box {
   background-color : green;
}

Genau genommen besteht der Hack aus drei Teilen: 

  1. Aus der Anweisung, die für den Internet Explorer 8 gelten soll, welche über eine ganz normale ID gesetzt ist.
  2. Dann die Anweisung, die für alle anderen Browser gelten sollen, diese wird...
  3. ...mit einer fehlerhaft geschriebenen ID-Definiton eingeleitet, also der zwei aneinander hängenden IDs #a#b (die Bezeichner sind an der Stelle beliebig, in der Quelle wird folgendes Beispiel gewählt: #html#body , div {...}), der dann die gewollte ID folgt.

Dabei ist es nicht relevant, ob die eigentliche Anweisung, die man setzen m?chte, per ID oder per CLASS angibt. Auch mit folgender Schreibweise wird der 2. Block vom IE8 ignoriert:?? 

.kasten {
   background-color : red;
}
#xx#yy, .kasten {
   background-color : green;
}

Vergleicht man beide CSS-Quelltextbeispiele, wird ersichtlich, wie der Hack funktioniert: Die beiden zusammen geschriebenen IDs werden vom IE8 nicht interpretiert (bzw. ich vermute, dass der IE8 intern den dahinter folgenden Code durch die 2. Raute als Auskommentierung versteht, und deswegen nicht ausf?hrt).? 

Bewertung

Es gibt zwei Aspekte, warum dieser Hack mit Vorsicht bzw. Sorgfallt zu verwenden ist: 

Zum einen nehmen Sie nicht eine Einstellung expliziet f?r einen Browser vor, sondern Sie schlie?en einen Browser aus. F?r diesen Hack bedeutet das, dass Sie IMMER die gleiche Reihenfolge einhalten m?ssen, damit Sie den gew?nschten Effekt erzielen.
Falls Sie in der sp?teren Entwicklung weiter unten in der CSS-Datei, oder in auch einer anderen CSS-Datei, die in der Ladefolge sp?ter liegt, eine weitere Formatierung schreiben, laufen Sie Gefahr, beide Formatierungen mit einer neuen Anweisung zu ?berschreiben.
Sie m?ssen eben stets im Kopf haben, dass Sie einen Browser, n?mlich den Internet Explorer 8 aktiv ausgeschlossen haben.?? 

Viel kritischer ist die Zukunftssicherheit zu betrachten. Aktuell scheint es so, dass der Hack funktioniert, weil der IE8 an der Stelle mit der doppelten und leerzeichnen-freien ID-Angabe durch einen Bug in der Browserprogrammierung dahinter folgende CSS-Anweisung verschluckt.
Da der IE8 noch weiterentwickelt wird, bzw. Bugs gefixt werden, ist es durchaus m?glich, dass dieser Browser-Bug irgendwann gefixt ist, der Hack w?rde dann seine Wirksamkeit einfach verlieren.??? 

Insgesamt, da die Reihenfolge, die eingehalten werden muss, nicht sonderlich kompliziert ist, bietet sich der Hack f?r kleinere Projekte, in dem man der einzige CSSler ist an.
F?r gro?e Projekte, besonders falls mehrere Frontendentwickler beteiligt sind, w?rde ich tendenziell eher auf diesen Hack verzichten. 

Danke f?r den Hinweis?

Quelle des "Multiple-Type-ID-Hack" ist folgender Link/Foreneintrag, der neben diesem Hack auch weitere CSS-Hacks auflistet (die ebenfalls hier unter www.css-hack.de zu finden sind) und noch ein paar allgemeine Tipps für die CSS-Codierung gibt.
Vielen Dank an der Stelle an CGpingu, der mich auf diese Quelle hingewiesen hat!????

© 2008-2019 - Stephan Heller [daik.de]

Quatsch? Unsinn! Wie jetzt gleich?

Wir versuchen, alles zu testen und nur richtige Dinge zu schreiben, vielleicht haben wir aber hier und dort was übersehen, die Beschreibung ist in der Ausdruckweise nicht vollständig, oder es gibt Anregungen, was hier stehen sollte oder welcher Link noch fehlt.

Wir freuen uns über jede Anregung! Kurze Mail an mail@css-hack.de.


 
Anbieter: daik.de || Impressum || Datenschutz || hosted by Host Europe

CSS-Wiki.com || Foto Studio Köln || Barrierefreier kostenloser Webcounter