CSS语言伪类允许我们为不同语言指定不同的样式,如下所示:
html:lang(en) .foo { ... }
但是,这在IE7中不起作用,所以我一直在使用属性选择器:
html[lang="en"] .foo { ... }
它们似乎在做同样的事情,但有什么细微的区别吗?如果没有,当属性选择器做完全相同的事情时,为什么CSS甚至有一个语言伪类呢?
发布于 2012-01-19 04:02:32
还有一件其他人没有提到的事情-- :lang()
伪类对如何设置元素的语言不感兴趣。在XHTML文档(具有XML MIME类型的真正的XHTML )中,您可以使用xml:lang="en"
,元素将匹配:lang(en)
而不是[lang="en"]
。
发布于 2012-01-19 03:51:53
Css支持所有元素的属性选择器,而不仅仅是html
标签的lang
属性。例如,可以像css中的a[title=Jeeha] { ... }
一样选择像<a title="Jeeha" href="foo.html">bar</a>
这样的html。
有关部分匹配和变体的更多详细信息,请参阅this链接。
https://stackoverflow.com/questions/8916360
复制相似问题