2

我对 IE 不支持 <q> 标签的说法感到困惑,但它在 IE 上作为内联元素呈现得很好,所以如果它不支持它,那又如何?我们可以使用 CSS 将其设置为斜体,它可以按预期工作。我从 IE5 及以上测试。

http://www.w3schools.com/tags/tag_q.asp

解释为什么当我没有看到任何阻止您使用 q 元素并能够使用 CSS 设置样式时它说它不支持它?

4

2 回答 2

3

IE确实理解该<q>元素,因为它是一个有效的标签并且您可以设置它的样式。<header>(HTML5 / IE等其他元素<footer>默认是完全不理解的。)

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";
}
于 2009-11-23T23:41:04.690 回答
2

这是因为其他浏览器会自动在内容周围添加语音标记。IE 不知道它是单独的标签,也不这样做。

当然,您可以使用 :before 和 :after 添加引号,但这在旧版本的 IE 中也不起作用。

于 2009-11-21T18:16:57.440 回答