Hallo Felix,
Das dürfte daran liegen, dass ein Zeilenumbruch, wenn er mit der content-Eigenschaft eingefügt wird, die gleiche Wirkung hätte wie ein Zeilenumbruch im Quellcode: Er wird als Whitespace interpretiert.
Im Grunde hast Du Recht, jedoch habe ich mit white-space:pre-line definiert, dass Zeilenumbrüche in der Darstellung nicht geschluckt werden sollen (wie eben auch in einem <pre>-Element). Daher ist meine Erwartungshaltung nicht unbegründet.
da hast du natürlich auch wieder Recht.
label:before { white-space: pre-line; content: "\a"; }
Soweit klappt das in meinem FF auch.
Das überrascht mich - auch hier hätte ich erwartet, dass das Linefeed als normales Whitespace-Zeichen interpretiert wird.
Du kennst anscheinend die Eigenschaft "white-space" noch nicht so gut? Ist mir vor diesem Fall auch so gegangen... *g*
Doch, die kenne ich eigentlich, hab sie sogar selbst schon ab und zu verwendet (der Wert "pre-line" war mir allerdings bisher fremd). Aber in diesem Fall hatte ich einfach nur Augen für die content-Eigenschaft, so dass mir das white-space davor völlig entgangen ist.
Jetzt, da ich deine beiden Beispiele *vollständig* gelesen und verstanden habe, teile ich deine Verwunderung.
Vinzenz hat Recht, wenn er meinen Lösungsansatz als akademische CSS-Übung (meine Worte) sieht. Ich werde wohl das Markup in eine Liste packen. Dann ist das Problem strukturell gelöst. Aber warum konnte ich es nicht mit reinen CSS-Mitteln lösen (akademische Frage)?
Ich weiß es nicht - aber ich kann die Motivation verstehen, der Frage trotz vorhandener Alternativlösung nachzugehen. ;-)
Ciao,
Martin
Viele Fachleute vertreten die Ansicht, jedes Feature eines Programms, das sich nicht auf Wunsch abstellen lässt, sei ein Bug.
Außer bei Microsoft. Da ist es umgekehrt.