2011-11-24 66 views
1

我想把表格放在一個div裏,以方便佈局。但只要我將div的高度從固定值更改爲'auto',div的高度就會降至零。這是代碼外觀的簡化版本。CSS自動高度設置不考慮表子元素?

<div class="box"> 
    <table> 
     <tr> 
     <td> <img src="something.jpg" alt=""> </td> 
     <td> <p>something<p> </td> 
     </tr> 
    </table> 
</div> 

有什麼,我應該做的,以拉伸div?這是div的CSS。我真的覺得我錯過了簡單的事情。

.box { 
float: center; 
margin: 10px 0px 10px 70px; 
height: auto; 
width: 600px; 
text-align: left; 
border: 2px solid #e3e2e2; 
border-radius: 5px; 
padding: 0px 0px 0px 0px; 
font-size: 25px; 
} 

感謝您的幫助。

+0

高度也從來沒有佔到任何的子元素! – noob

+0

我沒有看到這個問題。 http://jsfiddle.net/f9QwM/更多詳情? –

+0

'float:center;'不存在 您可以縮短填充到'padding:0;' – noob

回答

0
<td> <p>something<p> </td> 

您在段落內部打開另一個段落,而不是關閉現有段落。這可以在不同的瀏覽器中產生許多不同的效果,但在這種情況下,它不會影響每個瀏覽器的最新版本中的任何內容(這可能會影響較舊的瀏覽器)。

除此之外,固定你的CSS應防止其他錯誤:

.box { 
margin: 10px 0 10px 70px; 
height: auto; /* Is this needed? Height is auto by default. */ 
width: 600px; 
text-align: left; /* Is this needed? Text-align is left by default. */ 
border: 2px solid #e3e2e2; 
border-radius: 5px; 
padding: 0; 
font-size: 25px; 
}