2011-09-21 121 views
0

問題的一個例子的內部TD DIV是在這裏: http://jsfiddle.net/yjjRW/1/問題與100%的高度和填充100%的高度

內的div因爲100%的高度和餘量/填充,溢流到下一行。 td內的簡單東西..div需要100%,有一些填充和邊距。 同一行中所有tds內的div需要具有相同的高度。 我無法在它們上設置明確的高度,因爲它們的內容是在運行時決定的。

我可以解決這個問題的jQuery修復。

感謝

+0

你知道比去100%的項目,然後添加填充增加了100%? –

+0

是的。我知道..但不幸的是不知道如何解決它。我不能給內部div高度<100%,因爲生成內部div的內容的代碼正在使用頁面的負載,每個頁面上的容器知道什麼該死的高度。我控制的唯一事情就是創建一個圍繞div內容的包裝! – Jags

+0

'100%'+'padding'問題可以通過有2個元素來解決,其他元素是父元素,另一個元素是子元素。父應該具有'100%'寬度或高度(以及其他視覺材料,例如border .. bg顏色),並且Child元素應該具有填充。 – Joonas

回答

1

集使用百分比,而不是像素的填充。因此,給它一個5%填充頂部和底部,然後將高度設置爲90%。

http://jsfiddle.net/yjjRW/2/

+0

%ge是在寬度上計算的。所以這仍然會導致內部div流出 – Jags

+0

@JamesSmith對我來說這是新的,謝謝你告訴我。 – Ariel

0

CSS3添加到一個DIV

box-sizing: border-box; 
-moz-box-sizing: border-box; 

其他的辦法是利用定位。

td { 
    position: relative; 
} 
div { 
    position: absolute; 
    top: 5px; 
    .... 
} 

或者你可以使用JS解決方案,這有點尷尬。加載頁面後,檢查每個TD的offsetHeight並將其設置爲其firstChild(嵌套DIV)。

+0

無法使用css3 ..它需要支持舊瀏覽器!並試圖在jsfiddle中的另一個。不工作 – Jags

+0

因此,讓我們將內部DIV包裝在另一個http://jsfiddle.net/yjjRW/7/ –

+0

當我將您的代碼集成到我的網站的頁面..出於某種奇怪的原因..我的內部div的高度計算爲0! – Jags