我遇到了一個相當簡單的三列布局的問題,其中有一個容器div包含其他幾個div,其中一些基本上是爲設計而存在的,其中主要包含一個表格。因此,有關人士看起來有點像這樣:如何使容器div垂直拉伸以適應IE中的表格?
<div id="wrapper">
<div id="left-side-decoration"> </div>
<div id="right-side-decoration"> </div>
<div id="content">
<table id="datatable">
<thead><th>Title</th></thead>
<tr><td>Content Row 1</td></tr>
<tr><td>Content Row 2</td></tr>
<tr><td>Content Row 3</td></tr>
</table>
</div>
<div id="footer-decoration">
</div>
對於設計工作,我需要的總高度是瀏覽器窗口的至少高度。所以我有一個是這樣的一個樣式表:
#wrapper
{
height: 100%;
}
#left-side-decoration
{
float: left;
height: 100%;
width: 154px;
background-color: red;
}
#right-side-decoration
{
float: right;
width: 1em;
height: 100%;
background-color: red;
}
#content
{
height: 100%;
border: 1px solid #6f9dd9;
margin-left: 154px;
margin-right: 1em;
}
#footer-decoration
{
height: 3em;
clear: both;
background-color: green;
}
現在這個工作了罰款的Firefox和經常在IE,但datatable
可以獲得比瀏覽器窗口的高度更高。當發生這種情況時,它會在footer-decoration
div之下消失,並在Internet Explorer用戶的下面再次出現。
我試圖改變溢出設置,但我不希望在頁面的底部失去內容還是有滾動條,是我真正想要的是頁面是至少的高度瀏覽器窗口但可能有點高。其明顯的事情是使用min-height
但是當我改變包裝的高度最小高度似乎改變使用這兩個left-side-decoration
和right-side-decoration
縮小到幾個像素高,既不用100%的高度或100%它。
因此,如果我使用height: 100%
我的桌子掉在IE頁面的底部,如果我使用min-height: 100%
我的側面板收縮到沒有。我認爲最小高度問題與浮動div相關,因此不在頁面流中,但我沒有看到解決此問題的好方法。任何解決方案
或者,我想,只是切換到基於表格的設計?我的意思是,這太可怕了,但如果它可行的話...... – glenatron 2011-01-07 17:32:52