Sven Rautenberg: Stil für bestimmtes Element *ohne Kinder* festlegen

Beitrag lesen

Moin!

ich habe das Problem, dass eine bestimmte CSS-Klasse mehrmals im Content verwendet wird, ich aber nur diese formatieren möchte, die keine weiteren Kind-Elemente aufweisen.

Beispiel:

El1 > El2 > El3
El1 > El2

In diesem Fall möchte ich nur, dass das zweite El2 formatiert wird, also wenn es das letzte Element in der Hierarchie ist.

Gibt es dafür eine Lösung in CSS?

CSS bietet keine Möglichkeiten, ein Element basierend auf seinem Elementinhalt (Kindelemente) zu formatieren. Diese Möglichkeit wird immer mal wieder dringlich gewünscht ("Textabsätze, in denen kein Link ist", "Tabellenzellen mit Bildern drin", etc.), derzeit existiert sie aber nicht. Ob sie je existieren wird, ist sehr fraglich, da das System der Selektoren diesen Wunsch konzeptionell nicht wirklich unterstützen kann.

Dir bleibt nur, irgendeinen Workaround zu finden. Elemente dürfen auch mehrere Klassen haben, du könntest den "El2" ohne "El3" darin also zusätzlich eine Klasse geben, über die du dann die gewünschte Formatierung durchführst. Das Einfügen von inhaltlich sinnlosen Kindelementen käme ebenso in Betracht - dann könntest du El1 > El2 > div (oder span) formatieren, im Gegensatz zu El1 > El2 > El3.

- Sven Rautenberg

--
"Love your nation - respect the others."