哪种 CSS lang 语法最适合本地化的 HTML 元素?
Which CSS lang syntax is best for localized HTML elements?
我在网上找到了以下两个参考资料:
所以现在我想知道,如果我的网页中有一个单独的标签,其中包含例如日语文本,那么最好使用
p:lang(jp)
或
p[lang="jp"]
哪个最好,这两个有区别吗?
正如您发布的链接,按语言设置内容样式的最佳方式是:lang()
。
指定规则的p[lang="jp"]
方法是使用与属性值完全匹配的属性选择器。
与 :lang()
不同,此选择器仅适用于带有 lang 属性的元素。
[lang]
只会定期匹配具有 lang
属性的元素。 :lang()
另一方面是特殊的,它以更灵活的方式解析适用的语言。任意一个元素的语言解析为:
a combination of the lang
attribute, the <meta>
element, and possibly by information from the protocol (such as HTTP headers). (source)
意味着任何一个元素都从这些来源继承了它的语言;即使没有显式 lang
属性的元素也有 语言 并且可以用 :lang()
.
选择
它还可以解决区域差异,例如:lang(fr)
也适用于具有更具体语言 fr-be
.
的元素
如果您想根据 语言 设置元素样式(相对于具有 lang
属性的元素),您当然应该使用 :lang()
.
我在网上找到了以下两个参考资料:
所以现在我想知道,如果我的网页中有一个单独的标签,其中包含例如日语文本,那么最好使用
p:lang(jp)
或
p[lang="jp"]
哪个最好,这两个有区别吗?
正如您发布的链接,按语言设置内容样式的最佳方式是:lang()
。
指定规则的p[lang="jp"]
方法是使用与属性值完全匹配的属性选择器。
与 :lang()
不同,此选择器仅适用于带有 lang 属性的元素。
[lang]
只会定期匹配具有 lang
属性的元素。 :lang()
另一方面是特殊的,它以更灵活的方式解析适用的语言。任意一个元素的语言解析为:
a combination of the
lang
attribute, the<meta>
element, and possibly by information from the protocol (such as HTTP headers). (source)
意味着任何一个元素都从这些来源继承了它的语言;即使没有显式 lang
属性的元素也有 语言 并且可以用 :lang()
.
它还可以解决区域差异,例如:lang(fr)
也适用于具有更具体语言 fr-be
.
如果您想根据 语言 设置元素样式(相对于具有 lang
属性的元素),您当然应该使用 :lang()
.