Css 具有相对定位子对象的父对象在IE7中与子对象一起移动

Css 具有相对定位子对象的父对象在IE7中与子对象一起移动,css,internet-explorer-7,position,css-position,Css,Internet Explorer 7,Position,Css Position,我设置了一个包含无序链接列表的,并在每个上设置了10px的边框 因为我使用的字体在每个字符上方都有很大的空间,所以我在链接上设置了位置:relative,并将它们向上推6个像素,使它们与父级的边框紧密相连 这在任何地方都可以正常工作,除了IE7(可能在下面),整个及其子 如果您想查看live站点以了解它在IE7中的外观,请访问 有没有解决此问题的建议?这些CSS规则将解决您遇到的问题: nav { margin-top: -80px; padding-bottom: 33px; } nav u

我设置了一个包含无序链接列表的
,并在每个
  • 上设置了10px的边框

    因为我使用的字体在每个字符上方都有很大的空间,所以我在链接上设置了
    位置:relative
    ,并将它们向上推6个像素,使它们与父级的边框紧密相连
  • 这在任何地方都可以正常工作,除了IE7(可能在下面),整个
  • 及其子

    如果您想查看live站点以了解它在IE7中的外观,请访问


    有没有解决此问题的建议?

    这些CSS规则将解决您遇到的问题:

    nav { margin-top: -80px; padding-bottom: 33px; }
    
    nav ul { float: right; position: relative; }
    
    nav li { float:left; display:inline; border-top: 10px solid #7a7a7a; margin-right: 16px; }
    
    nav li.active { border-top: 20px solid #29cf86;}
    
    nav a {}
    

    只需将CSS规则替换为上面的规则即可。

    Jason,我已经在3种不同的浏览器中尝试过你的网站,导航对我来说很好。我唯一能想到的就是你头顶上的填充物。我弄错了什么?伊姆兰,谢谢-我已经在IE7 via中测试过了,它显示的导航比应该的高-边框与标题背景重叠,而不是齐平地坐在下面。我可以看出问题是因为-6px相对定位似乎应用于父
  • ,而不是我应用它的子
    。抱歉,再次查看,它将-6px相对定位应用于父
  • 和子
    显示在正确的位置,但父元素已移动,并且应用了边框的是父元素,因此边框不合适。是否尝试了我的答案?我在本地电脑上复制了你的主页,并对其进行了CSS更改测试,它在IE7(包括Firefox和IE8)中都能正常工作。如果你不接受答案,我将非常感谢你的支持,因为我花了大约45分钟才弄清楚问题所在。