我对IE不支持< q>的声明感到困惑。标签,但它作为一个内联元素在IE上渲染得很好,所以如果它不支持它,那么呢?我们可以用CSS来设置italicize的样式,它可以按预期工作。我从IE5及以上测试过。
http://www.w3schools.com/tags/tag_q.asp
解释为什么当我看不到任何阻止你使用q元素并且能够用CSS设置样式的东西时它说它不支持它?
答案 0 :(得分:3)
IE 确实了解<q>
元素,因为它是一个有效的标记,您可以设置它的样式。 (其他元素,例如HTML5 <header>
/ <footer>
IE默认情况下根本不理解。)
Anyhoo,声明“不支持”实际上意味着“不遵循标准”。它显示<q>
元素很好,但不添加规范要求的引号。这在IE8中得到修复。
正如Rich所说,你可以使用伪元素来添加引号 - 无论如何你应该这样做 - 但是IE6和IE7都不支持。我喜欢做的是改变<q>
元素的颜色和/或在仅IE样式表中使其变为斜体。所以IE访问者至少会看到差异化。
这是一段可能有用的代码段。它为所有<q>
标记添加双重引号,并为嵌套的<q>
标记添加单引号:
q:before {
content: "\201c";
}
q:after {
content: "\201d";
}
q q:before {
content: "\2018";
}
q q:after {
content: "\2019";
}
答案 1 :(得分:2)
这是因为其他浏览器会自动在内容周围添加语音标记。 IE不会将其视为单独的标记,并且不会这样做。
当然,您可以使用:before和:after来添加引号,但这在旧版本的IE中也不起作用。