Stil für bestimmtes Element *ohne Kinder* festlegen
Andreas
- css
Hallo,
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?
Vielen Dank im Voraus,
Andreas
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 > El2In 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
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
OK, vielen Dank! Das Problem ist, dass die CSS-Klassen im CMS vorgegeben sind, ich müsste also den Quellcode anfassen. Daher die Frage... aber dann halt doch.