Die Formatierung der Zahl in geordneten Listen <ol> bei :first-line
Man sollte ja meinen, dass die vorangestellte Zahl, oder sonstige Ordnungseinheit einer geordneten Liste in (X)HTML zur ersten Zeile der Liste dazugehört, doch weit gefehlt. Beim Einsatz der Pseudoklasse :first-line angewandt auf ein Listenelement <li> einer geordneten Liste <ol> sind sich die Browser absolut nicht einig, ob die Listenzahl nun zur ersten Zeile gehört, oder eben nicht. Meiner Meinung nach gehört sie zur ersten Zeile.
Angenommen man hat folgenden Code:
ol li:first-line {
font-weight:bold;
}
Der Firefox 3 und Safari 3.1 (Windows) stellen die vorangestellte Zahl so dar, als ob keine Formatierung vorhanden wäre. Die Internet Explorer 6 und 7, sowie der Opera 9.5 stellen die Zahl fett dar. Was ist nun richtig, bzw. wie lautet der vorgegebene Standard dafür? Ich habe mich auf den Seiten des W3C umgesehen, aber diesbezüglich keine Spezifikation finden können. Sofern das hier ein absoluter Hardcore Standards Liebhaber lesen sollte, der eine Antwort weiß, soll es mich wissen lassen. Ich bin nach wie vor der Meinung, dass in diesem Spezialfall die IEs und Opera recht haben und aus meiner Sicht korrekterweise die Zahl mitformatieren.
schrieb am 12. November 2008
müsste das in diesem Fall nicht eigentlich
:first-child
heißen?cu, w0lf.
schrieb am 12. November 2008
Nein, bei :first-child spreche ich bspw. das erste li in der ul an.
schrieb am 17. November 2008
:first-line ergibt ja bei einer Liste auch keinen Sinn .. jedenfalls keinen, den ich hier auf den zweiten Blick erkennen kann.
cu, w0lf.
schrieb am 17. Dezember 2008
Was wirklich richtig waere, kaeme wohl auch noch auf den Wert list-style-position an (auch wenn outside der Default sein sollte).
http://www.w3.org/TR/CSS21/generate.html#list-style:
Bei outside kommt :first-line also nicht an die marker box „heran“, weil sie sich „outside the principal block box“ befindet.
Bei inside hingegen, wo die marker box eine (genauer, die erste) inline box innerhalb der „principal block box“ ist, sollte :first-line des LI also m.E. Wirkung zeigen.