2011-02-14 6 views
4

동적 콘텐츠에 사용하려는 div가 있습니다. div를 채우는 내용이 존재하지 않으면 그 내용을보고 싶지 않습니다. 지금은 5px 상자에 대해 알 수 있습니다. 패딩을 제거하더라도 상자의 약 1px를 볼 수 있습니다. 콘텐츠가 없으면 어떻게 상자를 제거합니까?빈 div를 어떻게 접을 수 있습니까?

#test { 
border:1px dashed red; 
font-size:16px; 
margin:20px 0 0 0; 
width:332px; 
background-color:#eee; 
padding:5px 0 5px 60px; 
} 

답변

0

div가 있기 때문에. 당신은 서버 측 프로그래밍 언어 (또는 아마도 자바 스크립트)로 이것을해야한다. 예를 들면 :

if(content()) // if there is any content 
{ 
echo "<div id=\"test\"></div>"; 
} 
else 
{ 
} 
+0

OK, Eray, 즉 내가 두려워거야. 나는 그걸 할 것이지만 나는 먼저 물어볼 줄 알았다. 감사. – Jim

+0

행복한 해설;) – Eray

3

제거하면 padding, marginborder (당신이 당신의 질문에 언급하지 않는) 다음 높이가 0 픽셀 될 것이며, 브라우저에서 아무것도 표시되지 않습니다. 아래 스크린 샷과 offsetHeight 값을 확인하십시오. 당신이 #test 아래 다른 사업부를 만든 다음 #test에 대한 display:none을 추가 할 수 있습니다 예를 들어 enter image description here

, 당신은 두 번째 div의 위치가 변경되지 않는 것을 볼 수 있습니다.

0

오른쪽 상단의 검색 창을 사용하면 어떨까요?

Hide empty div 이전에 답변 해 주신 동일한 질문에 대해 알려드립니다.

3

관심이 있으시면이 작업을 수행하는 jquery 방법이 있습니다. :empty 선택기과 같이 일을 숨길 수 :

당신은 CSS에서 할 수있는
$('#test:empty').hide(); 
16

:

div#test:empty { 
     display: none; 
    } 
+2

이것은 CSS 3 선택자입니다. IE9 +에서만 작동합니다. – PoeHaH

관련 문제