IE不支持Q标签,但您可以设置样式

时间:2009-11-21 18:11:29

标签: html internet-explorer quotes

我对IE不支持< q>的声明感到困惑。标签,但它作为一个内联元素在IE上渲染得很好,所以如果它不支持它,那么呢?我们可以用CSS来设置italicize的样式,它可以按预期工作。我从IE5及以上测试过。

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

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

2 个答案:

答案 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中也不起作用。