我一直在努力让HTML5标签适用于IE7& IE8。最后我使用了html5shiv.js,问题解决了。这些元素显示在屏幕上,因为它们显示在任何现代浏览器上。
但就目前而言,我不知道为什么IE7& IE8不会应用我声明的css规则。例如:
header
{
background-color: #000000;
}
不会将黑色背景颜色应用于标题标记或任何背景颜色。当我在IE7&上搜索声明时IE8似乎是未声明的,但是当我在IE9模式下尝试IE时,我声明的相同css规则会出现并使用黑色背景颜色设置元素样式。任何帮助或解决方案都将非常感激。
答案 0 :(得分:1)
无法重现。使用http://browserstack.com,我在Windows XP上本机运行的IE7和IE8中测试了下面的代码,并且它们都按预期正确应用了CSS:
我只能怀疑你错过了什么,某个地方,因此没有得到你期待的结果。尝试将项目简化为一个小测试用例,就像我在这里所做的那样。确保您已引用所有适当的依赖项。
<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML5 Elements in IE7/8</title>
<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->
<style type="text/css">
header {
background-color: #000000;
color: #FFFFFF;
}
</style>
</head>
<body>
<header>Hello, world!</header>
</body>
</html>
截图:
答案 1 :(得分:1)
希望这会对你有所帮助,
所有浏览器都能正确呈现HTML5标记 - 即使是IE6:
感谢。
答案 2 :(得分:0)
如果您希望使用跨浏览器方式设置这些元素的样式,同时仍保留其语义含义,则可以将每个元素包装在div中,并将CSS作为类应用于该div。大多数用于语义标记的用例无论如何都不需要样式 - 它们的主要目的是将这些信息传达给通过CSS样式传达给人类的机器。
答案 3 :(得分:-1)
你必须检查标题区域
如果您在
之前添加一些评论<!DOCTYPE html>
然后你也会遇到像css类缺失或属性
这样的问题