2011-06-20 9 views
23

Na div Mam zestaw CSS:ukryć granicę, jeśli nie ma treści

div.class {border: 1px solid red;} 

Div jest umieszczony całkowicie w środku strony. Problem polega na tym, że granica pojawia się nawet wtedy, gdy nie ma treści.

Jakieś metody css, aby uzyskać granicę, aby nie pojawiać się, jeśli nie ma zawartości?

+3

Wydaje semantycznie niepewna mieć div z brak zawartości. Czy możliwe jest zapisywanie elementu div na stronie tylko wtedy, gdy zawartość jest dostępna? –

Odpowiedz

36

CSS3 ma selektor zdefiniowany dla tego przypadku. To nie działa w IE8 i niższe.

div.class:empty { 
    border: none; 
} 

Najlepszym rozwiązaniem byłoby dostosować ten po stronie serwera , i po prostu nie wykazują, że div czy byłoby puste.

+2

javascript będzie również działał – Ascherer

+1

@Ascherer Będzie działał, ale z pewnością nie jest najlepszą praktyką w tej sytuacji. – kapa

+1

zależy od rzeczywistej sytuacji. – Ascherer

0

Jeśli div może mieć treści związane z odpowiedzią na serwerze, można stwierdzić, czy jest on pusty lub wypełniony odpowiedź i przejść do display: none lub display: block odpowiednio

Powiązane problemy