Mathias Brodala: img:after funktioniert nicht p:after schon

Beitrag lesen

Hallo Cheatah.

Das "vorher" bzw. "nachher" bezieht sich _nicht_ auf das Objekt, sondern auf dessen Inhalt.

Ja, per Definition.

Was mich persönlich etwas irritierte ist, dass mein Mozilla ein img:before { content:'Foo'; } nicht auf den Alternativtext angewendet hat, wenn die Grafik nicht geladen werden konnte.

Stimmt; wie soll ein UserAgent in diesem Fall mit dem generierten Inhalt umgehen? Da hierzu in der Spezifikation keine Aussage getroffen wird, ist es wieder einmal den Browserherstellern überlassen, wie sie dies umsetzen.

Worüber man vortrefflich streiten kann ist, ob das W3C eine Sonderregelung für Replaced Elements hätte vorsehen sollen. Da bin ich, zumindest bei der ersten Betrachtung, ebenfalls der Ansicht, :before und :after sollen sich außerhalb des Elements befinden.

Ich bin generell der Ansicht, dass Pseudoelemente außerhalb von Elementen zu platzieren sind.

Und überhaupt: was, wenn ein Element eigentlich Inhalt haben darf, aber keinen hat?

Dann hat es einen Inhalt, nämlich einen leeren.

OK, dies kann ich akzeptieren. Interessant ist in diesem Zusammenhang auch das Rendering Firefox’ und Konquerors’ bei folgendem Code:

<a href="" />

Sowohl ::before als auch ::after werden hier doppelt eingefügt. Eine Ahnung, warum?

Einen schönen Donnerstag noch.

Gruß, Mathias

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
debian/rules