2011-06-10 70 views
3

例子:http://jsfiddle.net/xUrDc/负距使边界在IE7消失

我想围绕每个li带有边框只有一个像素宽。为了使线条正确对齐,我将每个li设置为margin-top:-1px(否则每个边框之间的边框太厚)。

当我在调试模式下将浏览器设置为IE7时,顶部的边框消失。有人可以告诉我为什么这可能是这种情况,或建议一个更好的方式来实现我想要的外观?

回答

7

忽略以不同方式进行此操作的可能性,您可以通过将zoom: 1添加到ul li来修复IE7。

参见:http://jsfiddle.net/xUrDc/1/

为什么这项工作?简而言之,它为IE7中的元素提供了一个名为hasLayout的神奇属性,它正好解决了这个错误。

更多信息:What bug does zoom:1; fix in CSS?

+2

+1不错的工作,你真的知道你的CSS :) – alex 2011-06-10 05:41:42

+0

尼斯,做到这一点的原因在其他浏览器没有副作用? – Flash 2011-06-10 05:44:03

+0

总之:没有。 (WebKit支持'zoom',但设置'zoom:1'不会改变,因为它是默认设置) – thirtydot 2011-06-10 05:46:40