2010-06-24 10 views
5

Ich möchte einem HTML-Element einen Stil zuweisen - aber nur für den Fall, dass das Tag einige Inhalte gesetzt hat.CSS-Selektor funktioniert nur, wenn <tag> Inhalt hat</tag>

Ist dies mit reinem CSS möglich? Im Idealfall möchte ich JS oder serverseitige Änderungen an der Struktur des HTML selbst vermeiden.

+0

Mögliche Duplikat [Content Aware CSS - anwenden Stil nur, wenn der Inhalt verfügbar ist] (http://stackoverflow.com/questions/9063446/content-aware-css-apply-style-only-if-content -is-available) – user

Antwort

9

CSS3 hat eine :empty pseudo -class.

Ich sehe keine Möglichkeit, dies in reinem CSS2.1 zu tun.

+0

Kompatibilitätsliste: http://www.quirksmode.org/css/contents.html –

+0

Habe nicht realisiert das: leere Pseudo-Klasse existiert ... nette :-) +1 –

8

Sie können dies mit CSS3 tun, indem Sie die Pseudoklassen :not und :empty kombinieren. Für Browser, die beide nicht unterstützen, müssen Sie JS oder eine serverseitige Lösung verwenden.

div:not(:empty) { background-color:blue; } 
Verwandte Themen