molily: Browserabfrage möglich?

Beitrag lesen

Hallo Cyx,

Daher meine Frage: kann man über eine Browserabfrage unterschiedliche CSS-Angaben ansteuern (quasi ein CSS ohne diese Filter) - und wie sähe das aus?

da gibt es einige Möglichkeiten:

http://www.lipfert-malik.de/webdesign/tutorial/css.html#Browserweichen

Ich weiß zwar nicht, wieso du Möglichkeiten auflistest, welche anscheinend teilweise selbst deiner Meinung nach nicht empfehlenswert sind, aber das ändert nichts daran, dass einige davon enorm kontraproduktive Nebenwirkungen haben.

User-Agent-Weichen sind, wie du selbst schreibst, unzuverlässig. (Siehe auch Archiv usw...)

Die Weiche mit iframe ist vermurkstes Markup, denn die iframe-Elemente haben keinen semantischen Wert und die Verschachtelung ist nicht wohlgeformt. Anstatt <script< meintest du wohl <script>.

Bei der JSSS-Weiche würde ich vorsichtig sein, denn einige Browser ignorieren die type-Angabe beim style-Element und versuchen so oder so den Inhalt als W3C-CSS-Code zu behandeln.

Die Script-Entities sind zwar laut Specs erlaubt, aber dennoch kann damit gerechnet werden, dass die meisten Parser diesen speziellen Code als Fehler betrachten anstatt ihn als Script-Entities zu erkennen und absichtlich und direkt zu umgehen/ignorieren. »(...) auch der W3C CSS-Validator hat nichts zu bemängeln« - stimmt nicht, der CSS-Validator meckert erwartungsgemäß: http://jigsaw.w3.org/css-validator/validator?text=font-size%3A+13px%3B+%26{'font-size%3A14px%3B'}%3B&warning=2&profile=css2&usermedium=all (auch beim Einbetten in Markup über style-Element oder -Attribut). Solche Entities sind in link-Elementen besonders gefährlich, da alle Browser, welche die Entities nicht verstehen, das link- bzw. script-Element nicht ignorieren, sondern einen Request zum Server senden (GET /&{'nc4.css'}; HTTP/1.1 usw.) und natürlich einen 404 erzeugen.

Dass die Netscape-typische Schreibweise von CSS-Eigenschaften nicht valide ist, ist dir bekannt. Ein Parser eines Browsers wird vermutlich folgendes sehen: http://jigsaw.w3.org/css-validator/validator?text=color%3Ablue%3B+%26{'color%3Agreen%3B'}%3B+%26{'color%3Ared%3B'}%3B+%2F%2Fcolor%3Aorange%3B&warning=2&profile=css2&usermedium=all.

div { // color:blue;} usw. ist ebenfalls fehlerhafte Syntax.

Diese Methoden mögen alle interessant sein (mit den nicht kritisierten gehe ich auch größtenteils konform), aber da du dir selbst, soweit ich den Artikel verstanden habe, die Vorgabe gemacht hast, W3C-konforme Lösungen ohne Zweckentfremdung der Elemente et cetera anbieten zu wollen, verstehe ich nicht, wieso du sie vorstellst und zudem hier (zusammen mit den tatsächlich brauchbaren) empfiehlst, wenn nach konkreten Lösungen gefragt wird.

Grüße,
Mathias

--
»In Anbetracht des extrem schädlichen Einflusses, der von diesem Forum ausgeht, wär's natürlich besser, es so weit zu bringen, dass es in sich kollabiert.«<img src="http://w0.extreme-dm.com/0.gif?tag=saftnase&j=n" border="0" alt="">