代码之家  ›  专栏  ›  技术社区  ›  Steven Hook

服务器之间的css边距差异

  •  2
  • Steven Hook  · 技术社区  · 16 年前

    我有一个开发服务器和一个生产服务器来托管我的网站。我在这些服务器上看到了html呈现方式的不同,但仅在InternetExplorer中。

    我正在呈现标签列表。这是标记。

    <div class="tag">
        <ul>
            <li><a href="#">tag1</a></li>
            <li><a href="#">tag2</a></li>
            <li><a href="#">tag3</a></li>
        </ul>
    </div>
    

    这是css。

    .tag
    {
    
    }
    
    .tag ul
    {
        margin-top: 5px;
        padding-left: 5px;
    }
    
    .tag li
    {
        display:block;
        float:left;
        margin: 1px 1px 1px 0px;
    }
    
    .tag a
    {
        color: white;
        font-weight: bold;
        text-decoration: none;
    }
    

    1. 当我在不是服务器的任何机器上查看IE8中的这个页面时,tag div添加了大约50px的左边距或填充。

    2. 在我的开发服务器和生产服务器上的googlechrome和Firefox中查看这个页面,tagdiv会正确地显示边距和填充。

    使用IE开发工具,我能看到div元素在工作和不工作的情况下的唯一区别是div不工作时的样子如下:

    <div class="tag" sizcache="0" sizset="2">
    

    区别在于sizcache和sizset属性。我尝试在开发人员工具中去掉这两个属性,但没有改变最终结果。它们可能在那里,因为我对标记做了一些jQuery样式:

    $('.tag ul').buttonset();
    

    取出这个jquery代码不会改变最终结果。使用开发工具,我甚至去掉了所有的样式(甚至身体继承样式),但我仍然得到了边距/填充。

    2 回复  |  直到 16 年前
        1
  •  2
  •   kmfk    16 年前

    .tag ul :

    margin-left: 0px;
    
        2
  •  2
  •   calvinf    16 年前

    server can enforce this 通过如下设置HTTP头:

    X-UA-Compatible "IE=EmulateIE7"
    

    微软有更多关于 Compatibility View .