Inhalt
Universal-Selektor als Nachfahren-Selektor ohne Leerraum
Safari-Stern-Ohne-Leerraum-Hack
CSS Code-Beispiel
Der Universal-Selektor * (sprich: Stern) ohne Leerzeichen hinter dem Selektor html ist eine fehlerhafte Schreibweise. Dies wird von Firefox und Opera nicht ausgelesen, eine spezielle Anweisung für den Safari können Sie also per html* notieren.
html* div {
width : 20em;
}
Zusatz für Internet Explorer notwendig!
Jedoch wird diese Notation nicht nur vom Safari, sondern auch von den unterschiedlichen Internet Explorer-Versionen ausgelesen.
Falls Sie also diesen Hack zum Anpassen des Safari einsetzen, müssen sie anschließend per Stern-HTML bzw. Stern-Plus-HTML-Hack Seiteneffekte auf die IE's abfangen.
Der komplette Code-Schnipsel sieht so aus:
/* Safari */
html* div {
width : 20em;
}
/* IE 6 */
* html div {
width : 19em;
}
/* IE 7 */
* + html div {
width : 19em;
}
Bewertung
Bei dieser Notation handelt es sich tatsächlich um einen Hack. Eine CSS-Validierung über den W3C-Validator besteht dieser nicht. Von daher sind reguläre Schreibweisen immer einem echten Hack vorzuziehen.
Ebenfalls ist kritisch zu betrachten, dass dieser Hack auch von den Internet-Explorern unterstützt wird. Die daraus resultierende Dreifach-Schreibweise kann kompliziert sein. Die Pflegbarkeit des CSS wird dadurch deutlich verschlechtert.
Was die Zukunftssicherheit anbelangt, so würde es mich wundern, wenn das Auslesen dieser Schreibweise in neuen Versionen des Safari (als auch in neuen Internet Explorer-Versionen) nicht mehr funktionieren würde.
Allerdings ist alles, was nicht Standard ist, kritisch zu betrachten - potentiell könnte die Interpretation dieser Schreibweise in neueren Browser-Versionen korrigiert werden - ein solcher Hack würde dann nicht mehr greifen.
Alternative Bezeichnungen
Auf der Suche nach der Bezeichnung für diesen Hack bin ich nicht fündig geworden. Wer eine aussagekräftige Quelle liefert, wird als Dankeschön unter die sonstigen Links aufgenommen! Mail an mail@css-hack.de.
Weiterführende Links
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.
