Gerade stehe ich mal wieder vor einem CSS-Problem, das eigentlich eine einfache Lösung hätte:
Angenommen, ich hätte eine Reihe von <p>
-Paragraphen. Manche enthalten Bilder, andere nicht. Diejenigen, die ein <img>
enthalten, sollen anders formatiert werden, als die, die kein Bild enthalten.
Hier wäre jetzt rein logisch ein CSS-Selector oder eine Pseudo-Klasse gefragt, die den entsprechenden Parent-Paragraphen die richtigen Style-Informationen zuweist, so in etwa wie
img < p { /*Style-Definition*/ }
oder
img:parent { /*Style-Definition*/ }
Gibt es aber nicht, Selectoren funktionieren immer nur in Richtung parent > child
, niemals child > parent
. Auch in dem vor kurzem veröffentlichten Last Call Working Draft of Selectors für die kommende W3C-CSS3-Spezifikation ist so etwas nicht vorgesehen. Schade eigentlich, dieses sehr sinnvolle Feature würde einige Probleme lösen!
Gänzlich neu ist die Idee natürlich nicht, sie wurde schon auf der www-style@w3.org-Mailing-Liste schon diskutiert. Die einzige Begründung für eine Ablehnung, die ich gefunden habe, ist die Aussage von David Baron, einem der beim Mozilla-Projekt für die CSS-Engine mitverantworlichen Programmierer, daß eine Implementierung recht aufwendig sei. So recht glauben will ich das aber nicht…
timm_thaler
Hier kommt dann das node-Objekt von JavaScript ist Spiel. Einfach per JavaScript die passende Klasse, abhängig von den Kindelementen, setzen. Hatte mal ein ähnliches Problem und funktioniert wunderbar.
27.12.2005 @ 23:30
Johannes
Ja, das geht auch, ich hatte jetzt mit einer Regular Expression das HTML umgeschrieben, serverseitig ist halt immer besser…
28.12.2005 @ 01:25