Hi,
ich habe mal irrtümlich eine Zeile in einer CSS-Datei durch Voranstellen von // auskommentiert und dabei die Entdeckung gemacht, dass das der Firefox annimmt,
Wo standen die // ?
Annahme: // vor dem Selektor (als Beispiel .bla):
// .bla { /* ... */ }
// ist kein gültiger Simple Selector, damit ist der Selektor insgesamt ungültig, er selektiert also kein Element, also wird das Ruleset keine Auswirkung haben.
Annahme: // vor Rule (als Beispiel: width:10px; }
.bla {
// width:10px;
}
// width ist kein Name einer existenten Property ==> die Rule wird ignoriert.
Annahme: // vor dem Wert (als Beispiel: width:10px)
.bla {
width: // 10px;
}
// 10px ist kein gültiger Wert, die Rule wird demzufolge ignoriert.
Das Verhalten des Firefox ist also leicht nachvollziehbar (und korrekt - fehlerhafte Angaben müssen ignoriert werden
der IE 5.5 aber nicht (andere Browser hab ich nicht damit gecheckt).
Daß der IE auch noch die unsinnigsten Dinge im Stylesheet durchgehen läßt und irgendwie zu interpretieren versucht, ist doch bekannt, also nicht weiter verwunderlich.
Ist das Phänomen bekannt und/oder lässt es sich vielleicht für Browser-Weichen-Zwecke (wasn Wort!) ausnutzen?
Wozu?
Um ein Ruleset nur für IE zugänglich zu machen, reicht * html .bla aus. Und um ein Ruleset vor dem IE zu verstecken, reicht ein Attribut-Selektor wie z.B. .bla[class]
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.