我想为每种语言使用不同的CSS选择器。我有一个HTML文档,如:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
...
</html>
我有不同的语言,我想根据语言改变风格。
我已经尝试了html:lang(es)
,但它不起作用。
答案 0 :(得分:2)
xml:lang
属性仅在XHTML被解释为XML时才有效。将其解析为HTML时,您需要使用lang
属性。
您可以通过使用XML文件扩展名在本地保存XHTML文档然后在浏览器中加载来测试,并且当前的CSS选择器应该可以工作。
如果您可以控制XHTML的生成,最简单的方法是使用两种语言属性,以确保在读取XML或HTML时正确评估它。 < / p>
这在W3C国际Declaring language in HTML页面中有描述:
当将XHTML 1.x或多语言页面作为text / html提供时,每次要设置语言时都同时使用lang属性和xml:lang属性。 xml:lang属性是在XML中标识语言信息的标准方法。确保两个属性的值相同。
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
xml:lang属性实际上对于以HTML格式处理文件并不实用,但只要您以XML格式处理或提供文档,就会从lang属性中接管。 lang属性由XHTML的语法允许,并且也可以被浏览器识别。但是,当使用其他XML解析器时(例如XSLT中的lang()函数),您不能依赖于被识别的lang属性。
答案 1 :(得分:1)
我建议更新html中的language属性。您可以使用CSS选择此元素。 xml是可以使用CSS选择的属性。
html[xml:lang="es"]{ //your style }
您还可以使用lang
属性
html[lang="es"]{ //your style }
html[xml\:lang="es"] body{ background: red; }
html[xml\:lang="en"] body{ background: green; }
<html xml:lang="es" lang="es">
<head>
</head>
<body>
</body>