Hallo, Auge,
Was untersagt die Logik? <hr> bzw. <hr /> belegt eine Zeile,
und ob der Browser 1px Schatten mit dran "macht" oder nicht,
ist mir schnurz!
Man kann einer hr per CSS nicht einmal die Farbe interoperabel zuordnen, sodass es in den verbreiteten Browsern als simple horizontale Linie mit einer bestimmten Farbe angezeigt wird. Stattdessen muss man mit background-color und/oder border etwas tingeln, in der Hoffnung, dass es nicht nur die Browser befriedigt, sondern auch grundlegend richtig ist. Mit background-color bekommt man wie ich herausgefunden habe zumindest eine gleiche Darstellung in Opera, Mozilla und IE hin (neueste Versionen) - aber das erscheint mir völlig unlogisch (wieso background-color?[*]). Die standardverletzende Interpretation des HTML-Attributs color im hr-Element durch den IE wird konsequent fortgesetzt, denn IE versteht auch das CSS-Attribut color als bindend für hr...
[*] Wenn color oder border-color die Außenrahmenfarbe festlegen würde und background-color die Innenfarbe der Linie, wäre das logisch - aber so ist es scheinbar nicht.
Selfhtml bemängelt, dass alle außer IE das Attribut color nicht auf hr-Elemente anwenden: link:http://selfhtml.teamone.de/html/text/trennlinien.htm#gestalten_css] Tun sie auch nicht, das stimmt, aber Opera und Mozilla erwarten background-color.
Die Darstellung einer Website ist nun mal nicht so fest zu machen,
wie in einer Illustrierten. Da hab ich ein Layout,
was aus der Druckerei kommt, und so sieht dann _jedes_ Heft aus.
Jaja, klar, aber hier geht es nicht um ein perfektes pixelgenaues Design, hier geht es um grundlegende Styles. Eine hr sollte bspw. einen ausreichenden Kontrast zur Hintergrundfarbe haben, deshalb sind gewisse Formatierungen nötig. Und wenn ein Browser daraus nur ein transparentes Rechteck macht mit 1px-Rahmen und ein anderer sich völlig sträubt, Styles auf den Strich anzuwenden, dann hat der Trennstrich als strukturierendes Element nahezu gar keinen Sinn, wenn er nichtmal als solcher erkennbar ist (1px ist nahezu unerkennbarer Fliegendreck).
Abgesehen von unterschiedlichen Fenstergrößen der Browser hat halt
jeder Browserhersteller seine eigene Renderengine, wodurch es leider
zu Unterschieden in der Darstellung kommt.
Der Schatten bei <hr>, der keiner sein soll, ist da wohl eher Geschmackssache.
Schatten oder nicht Schatten ist imho belanglos gegenüber dem Problem, dass es keine klare Vereinbarung für das Festlegen der Linienfarbe gibt. Wer weiß, wie das Verhalten von Konqueror, Amaya, OmniWeb etc. ist...?
Grüße,
Mathias