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.