body {
background: gray;
font-family: sans-serif;
width: 960px;
margin: auto;
}
header {
background: green;
border: 10px solid black;
}
nav {
margin-top:10px;
background: #62D99C;
border-radius: 10px;
padding: 10px;
}
标题和导航背景在IE8中不起作用。它适用于Chrome和FF。我该怎么办? 谢谢!
答案 0 :(得分:10)
您应该将display:block
应用于标题和导航元素:
header {
display: block;
background: green;
border: 10px solid black;
}
nav {
display: block;
margin-top:10px;
background: #62D99C;
border-radius: 10px;
padding: 10px;
}
您似乎还需要包含以下js:
<!--[if lt IE 9]>
<script>
document.createElement('header');
document.createElement('nav');
</script>
<![endif]-->
原因可以在这里找到:
http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/
简单地说,IE8默认情况下不支持HTML5元素,但是通过让这个javascript执行(仅适用于IE8或更少),它开始识别这些元素。大多数开发人员使用某种形式的html5 shim
来解决此问题。
答案 1 :(得分:0)
看起来IE8不支持HTML4中不存在的HTML5功能(包括新元素header
和nav
)。请参阅问题Does IE8 support HTML5 and CSS3?
尝试使用旧的工作方式替换元素:<div class="nav">
并使用CSS-selector .nav
。
答案 2 :(得分:0)
背景颜色在Internet Explorer(IE)上无效
IE在渲染网页之前应用了一些过滤器。这就是为什么有些页面颜色发生了变化。
您可以在CSS类中添加以下行以避免它。
filter: none !important;