2012-10-18 33 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

没有解决我的问题铬 –