以下是HTML中语言切换的简单代码示例。 CSS应该分隔span元素并在它们之间显示一个点:
<html>
<head>
<style type="text/css">
.languageSwitch span:before {
content: "•";
padding: 0 4px;
font-weight: normal;
}
.languageSwitch span:first-child:before {
content: "";
padding: 0;
}
.languageSwitch .current {
font-weight: bold;
}
</style>
</head>
<body>
<div class="languageSwitch">
<span><a href="?lang=de">Deutsch</a></span>
<span class="current">English</span>
<span><a href="?lang=fr">français</a></span>
</div>
</body>
</html>
这在Firefox中运行良好,但Internet Explorer9¹只是忽略:before指令。在“开发人员工具”CSS对话框中,“内容”属性也不会显示。我在网上搜索过:IE 8存在伪元素问题,但IE 9应该知道它们,这是“旧”CSS 2。
有人知道为什么会失败(IE 9中的错误?)或语法必须如何?
1)要明确:版本9.0.8112.16421 /“Updateversion”9.0.6(KB2675157)
答案 0 :(得分:2)
检查doctype。在jsfiddle上,这在IE9中运行良好:http://jsfiddle.net/4nGW9/。 IE8也应该处理这个问题。
答案 1 :(得分:2)
我可以在IE 9中看到精确的点。确切的版本与你的一样。我的代码中唯一不同的是顶部有效的HTML5文档类型。
如果没有有效的doctype,IE可能会将其页面渲染切换为怪异模式,或IE8 / IE7的渲染模式无法处理伪选择器,如第一胎或生成的内容。
请参阅您的信息页here in browserling。