IE quirks模式使页面呈现奇怪 - LI元素不是水平的

时间:2012-10-30 20:08:42

标签: html css internet-explorer quirks-mode

我在IE 8中遇到了怪异模式的奇怪问题。我正在开发一个应该呈现水平菜单栏的网页。在FF和IE正常模式下,它呈现完美。但是,当我将IE设置为quirks模式时,UL的li元素会垂直渲染,我不知道如何解决它。

这是CSS:

#primaryNav {
    background:url(/images/sprite_primary_nav.gif) repeat-x; 
    border:1px solid #dfdfdf;
    clear:both;
    height:49px;
    margin:0 auto;
    width:985px;
}
#primaryNav ul {
    list-style: none;
    margin:0;

}
#primaryNav ul li {
    border-left:1px solid #dfdfdf;
    display:list-item;
    float:left;
    height:49px;
    padding-bottom:0px;  

}
#primaryNav ul li a {
    border:1px solid #ffffff;
    color:#333333;
    display:block;
    font-family:ScalaOTRegular, "Times New Roman", Arial;
    font-size:123.1%;
    height:32px;
    padding:15px 23px 0px;
    text-decoration:none;
}
#primaryNav ul li a.afterActive, #primaryNav ul li a.firstNavItem {
    border-left:0px;
}
#primaryNav ul li.active a {
    background:url(../images/sprite_primary_nav.gif) repeat-x 0px -49px;
}
#primaryNav ul li:first-child {
    margin-left:41px;
}
#primaryNav ul li:last-child {
    border-right:1px solid #dfdfdf !important;
}
.primaryNavLast {
    border-right:1px solid #dfdfdf !important;
}

这是html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content=""/>
    <meta name="keywords" content=""/>
    <link rel="stylesheet" type="text/css" href="/css/reset.css" media="screen"/>
    <link rel="stylesheet" type="text/css" href="/css/delta_screen.css" media="screen"/>

    <script src="scripts/jquery-1.6.4.min.js"></script>
</head>
<body>
    <div id="primaryNav" class="addShadowShadowPrimaryNav">
        <ul>
            <li><a href="#">Home</a></li>
            <li><a href="#">Etiamn</a></li>
            <li><a href="#">Integer</a></li>
            <li><a href="#">Rhoncus</a></li>
            <li><a href="#">Sagittis</a></li>
            <li><a href="#">Facilisis &amp; Inte</a></li>
        </ul>
    </div><!--end primaryNav-->
<!-- end scripts -->
</body>
</html>

有什么想法吗?谢谢!

3 个答案:

答案 0 :(得分:0)

它肯定会进入怪癖模式吗?我看不出有什么理由会这样做。

这可能是IE7兼容模式 - 这是一个非常常见的“问题”,因为有些浏览器设置会导致它在不告诉您的情况下切换模式,尤其是当您在本地网络上查看网站时。

答案 1 :(得分:0)

尝试将Doctype更改为严格。在某些情况下,过渡是在怪癖模式,而严格则不是。还要检查是否有任何内容直接位于Doctype(甚至是注释)上方并删除它们。

http://en.wikipedia.org/wiki/Quirks_mode

答案 2 :(得分:0)

问题是您在Intranet上并且IE会自动进入兼容模式,除非您另有说明。使用X-UA-Compatible标题(或等效的<meta>标记)可以解决问题:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />