我在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 & Inte</a></li>
</ul>
</div><!--end primaryNav-->
<!-- end scripts -->
</body>
</html>
有什么想法吗?谢谢!
答案 0 :(得分:0)
它肯定会进入怪癖模式吗?我看不出有什么理由会这样做。
这可能是IE7兼容模式 - 这是一个非常常见的“问题”,因为有些浏览器设置会导致它在不告诉您的情况下切换模式,尤其是当您在本地网络上查看网站时。
答案 1 :(得分:0)
尝试将Doctype更改为严格。在某些情况下,过渡是在怪癖模式,而严格则不是。还要检查是否有任何内容直接位于Doctype(甚至是注释)上方并删除它们。
答案 2 :(得分:0)
问题是您在Intranet上并且IE会自动进入兼容模式,除非您另有说明。使用X-UA-Compatible
标题(或等效的<meta>
标记)可以解决问题:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />