【问题标题】:Negative margin causes border to disappear in IE7负边距导致边框在 IE7 中消失
【发布时间】:2011-09-12 05:50:22
【问题描述】:

示例:http://jsfiddle.net/xUrDc/

我正在尝试用恰好一个像素宽的边框围绕每个 li。为了使线条正确相遇,我在每个li 上设置margin-top:-1px(否则每个之间的边框太厚)。

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

【问题讨论】:

    标签: html css internet-explorer internet-explorer-7


    【解决方案1】:

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

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

    为什么会这样?简而言之,它为 IE7 中的元素提供了一个称为hasLayout 的神奇属性,恰好修复了这个错误。

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

    【讨论】:

    • 很好,这会对其他浏览器造成任何副作用吗?
    • 简而言之:没有。 (WebKit 确实支持zoom,但设置zoom: 1 没有任何改变,因为它是默认设置)
    • @thirtydot 当我添加 ul a 样式时,它似乎中断了:jsfiddle.net/xUrDc/3(很抱歉没有把这些放在问题中)。
    • @Andrew:无论出于何种原因,您都需要删除空格:jsfiddle.net/xUrDc/4
    • 哇,什么?这有什么区别?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2013-04-20
    • 2017-02-16
    • 1970-01-01
    • 2011-08-10
    • 2015-08-20
    相关资源
    最近更新 更多