2012-10-18 36 views
1

我有一個div與1像素邊框和身高:29%。鉻由於某種原因呈現它沒有底部邊界。邊框消失在鉻當指定百分比高度

http://jsfiddle.net/9WVuC/4/

這個問題取決於實際的百分比值和容器的大小;當我改變它們時,邊框有時會出現,有時會消失。似乎Chrome渲染引擎在計算實際的div的高度時存在一些舍入錯誤。此外,只有當溢出位置被指定爲div

它是一個已知的錯誤,也許有一些解決方法存在?當然,我可以通過手動重新計算高度並使用JS進行設置來擺脫百分比值,但這不是非常優雅的解決方案。

回答

0

你可以通過設置高度height: 28.95%;

確保你不使用表格佈局解決這個「錯誤」。它們只能用於表格數據。

+0

改變高度百分比只有解決了該具體情況的問題,但如果我改變容器的高度,邊境再次消失 - [的jsfiddle(HTTP:// jsfiddle.net/9WVuC/12/)。不幸的是,在我的情況下,不同的高度是可能的(容器可以調整大小)。但是,謝謝。 – user767343

0

降低高度或刪除溢出:隱藏

lower{ 
height: 28%; 
position: relative; 
overflow: hidden; 
border: solid 1px black; 
} 

Fiddle demo

+0

不幸的是,改變高度百分比只能幫助混凝土容器的高度(請參閱我對JimmyRare答案的評論)。在我的情況下,「溢出:隱藏」是必要的。 – user767343

+0

是的,你是對的。該錯誤是由框的邊框(邊框高度)引起的。所以你必須改變高度值。更好的是你將身高值設定爲28%。 – Selvamani

4

這是因爲你對股利的overflow:hidden;風格,邊框實際上出現外div的問題,所以根據到div的高度(它是一個%),它不考慮這個邊界。在你的代碼

尋找我會建議將您的overflow:hidden;到的div修復該問題,並將對class="lower"元素的內容相同的效果,如果它溢出(td)的含元素。

+0

這個答案我發現有幫助...在我的情況下添加一些保證金的子元素工作...以防別人幫助其他人 – byronyasgur

0

這可能是一個呈現問題,取決於屏幕/窗口大小和元素的計算大小(帶小數)。對我來說一個解決方法是把一個隱藏的邊框丟失的box-shadow,它修復了渲染。對於底部邊框它應該是這樣的:

box-shadow: 0 1px 0 0 rgba(255,255,255,0); 
+0

沒有解決我的問題鉻 –