代码之家  ›  专栏  ›  技术社区  ›  aeisenbe

ie7和firefox/opera/chrome之间的间距差异

  •  3
  • aeisenbe  · 技术社区  · 16 年前

    在ie7与firefox/chrome/opera的对比中,我对无序列表的垂直空间有一个持续的问题,我似乎找不到解决方案。

    在IE7中,空间更小,我想看的东西也更少。

    在Firefox、Chrome和Opera中,两者之间的空间大约是前者的两倍。

    我无法解释我的代码或页面中的任何间距问题。在我的页面上,代码如下:

    <!--BEGIN SIDEBOX-->
    <div id="sidebox_new">
    <div id="sidebox_top"><div id="sup">SUPPORT LINKS</div></div>
    <div id="sidebox_bod">
    <br />
    <ul>
    <li><a href="training.aspx">User Training</a></li><br /><br />
    <li><a href="faqs.aspx">FAQ</a></li><br /><br />
    <li><a href="logonasst.aspx">Logon Assist. Center</a></li><br /><br />
    <li><a href="faxus.aspx">Fax Us</a></li><br /><br />
    <li><a href="callus.aspx">Call Us</a></li><br /><br />
    <li><a href="feedback.aspx">General Feedback</a></li>
    </ul>
    </div>
    <div id="sidebox_btm"></div>
    </div>
    <!--END SIDEBOX-->
    

    此部分的css如下所示:

    #sidebox_bod
    {
    width: 200px;
    margin: 0 30px 0 0;
    padding: 0;
    background: url('../img/supbxbod.gif');
    background-repeat:repeat-y;
    background-position:bottom;
    }
    
    #sidebox_bod ul
    {
    list-style-image:url('../triangle.gif'); 
    text-align:left;
    padding: 0 0 0 30px;
    margin: 0;
    }
    
    #sidebox_bod ul li a
    {
    font-size: 13px;
    }
    

    你知道我能做些什么使所有浏览器的垂直间距相同吗?我更喜欢IE7的外观来修复这个问题。谢谢。

    2 回复  |  直到 16 年前
        1
  •  7
  •   Andrew Moore    16 年前

    您现在遇到的问题是因为每个用户代理(浏览器)都有自己的默认样式,这些样式可能不同。

    Reset stylesheets 存在的目的是中和这些样式并在用户代理之间实现更恒定的呈现。这将基本上消除所有元素的问题。

    在那种情况下,玩 margin , padding 和 line-height 属于 #sidebox_bod ul li 将解决您的问题:

    #sidebox_bod ul { margin: 0; padding: 0 16px; line-height: 1em; }
    

    不过,我建议使用重置css,因为这将解决所有元素的大部分问题。

        2
  •  0
  •   user304469    16 年前

    在列表项之间使用中断标记不是一个好主意。您应该为列表项间距设置特定的边距、填充和/或行高样式,否则将无法预测。

    如果你想要精确的对称性,我建议不要使用ems来测量,因为它们在不同的浏览器和操作系统中呈现的非常不同。

    IE中也有一些空白问题,但通常会导致 更多 空间,而不是更少…

    关于上面海报关于重置样式表的评论-我认为在这个例子中最好为您自己的站点设置一个特定的样式。重置样式表在很大程度上可能变得不必要/多余,如果你正在设计你的网站(参考: http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/ )

    链接到您的网站将是伟大的,因为它是非常困难的调试没有看到整个css文件和html上下文。