背景:颜色在IE8中不起作用

时间:2012-11-18 11:50:04

标签: css

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。我该怎么办? 谢谢!

3 个答案:

答案 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来解决此问题。

http://code.google.com/p/html5shim/

答案 1 :(得分:0)

看起来IE8不支持HTML4中不存在的HTML5功能(包括新元素headernav)。请参阅问题Does IE8 support HTML5 and CSS3?

的答案

尝试使用旧的工作方式替换元素:<div class="nav">并使用CSS-selector .nav

答案 2 :(得分:0)

背景颜色在Internet Explorer(IE)上无效

IE在渲染网页之前应用了一些过滤器。这就是为什么有些页面颜色发生了变化。

您可以在CSS类中添加以下行以避免它。

 filter: none !important;