Kommentare in CSS
ottogal
- css
Hallo ins Rund,
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, der IE 5.5 aber nicht (andere Browser hab ich nicht damit gecheckt).
Ist das Phänomen bekannt und/oder lässt es sich vielleicht für Browser-Weichen-Zwecke (wasn Wort!) ausnutzen?
Ciao
ottogal
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, der IE 5.5 aber nicht
wie definierst Du "annehmen"? Als ungültige Syntax hat der Browser die Angabe zu ignorieren.
Ist das Phänomen bekannt und/oder lässt es sich vielleicht für Browser-Weichen-Zwecke (wasn Wort!) ausnutzen?
CSS-Hacks (so nennt man das) haben mit validem Code zu arbeiten.
Cheatah
Hi Cheatah,
wie definierst Du "annehmen"? Als ungültige Syntax hat der Browser die Angabe zu ignorieren.
Mich hat ja grade gewundert, dass der so "saubere" Firefox die mit // regelwidrig auskommentierte Zeile tatsächlich ignoriert hat, der bekanntermaßen "schlampige" IE sie aber brav beachtet hat - d.h. der ignoriert die slashes ... (??)
Ich weiß schon, diese Hackereien zum Austricksen der Browserschwächen sind nix Gutes, will ich auch gar nicht machen - mich interessiert nur dieses eigentümliche Verhalten des Feuerfuchses ...
Ciaociao
ottogal
hi,
Mich hat ja grade gewundert, dass der so "saubere" Firefox die mit // regelwidrig auskommentierte Zeile tatsächlich ignoriert hat,
der bekanntermaßen "schlampige" IE sie aber brav beachtet hat - d.h. der ignoriert die slashes ... (??)
in deinem eingangsposting war's noch andersherum ...
gruß,
wahsaga
Hi,
Mich hat ja grade gewundert, dass der so "saubere" Firefox die mit // regelwidrig auskommentierte Zeile tatsächlich ignoriert hat, der bekanntermaßen "schlampige" IE sie aber brav beachtet hat - d.h. der ignoriert die slashes ... (??)
das Verhalten von Firefox ist korrekt, das des IE bekannt. Er beachtet auch Eigenschaften, denen ungültigerweise ein Minus, Ausrufezeichen o.ä. vorangestellt wurde.
Ich weiß schon, diese Hackereien zum Austricksen der Browserschwächen sind nix Gutes,
Sie sind gängige Praxis - aber bitte mit validem Code.
will ich auch gar nicht machen - mich interessiert nur dieses eigentümliche Verhalten des Feuerfuchses ...
Er verhält sich hier vollkommen standardkonform.
Cheatah
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
Hi,
»» Wo standen die // ?
»» Annahme: // vor Rule (als Beispiel: width:10px; }
So wars ( // border: ....)
Danke für die ausführliche Antwort: Wieder was gelernt...
ottogal