欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

HTML5中对lang与xml:lang属性的解释

程序员文章站 2022-04-09 17:46:00
...

元素的lang(无命名空间的)属性用于定义元素的内容及其他文本属性的语言种类。
它的值必须是符合
BCP 47规定范围内的一个语言标签。
当该属性设置成空字符串时,代表语言未知。
lang(
XML命令空间内的 xml:lang),就是XML标准里定义的。
如果一个元素没有定义lang属性,且其父元素有lang属性,它将继承。
任何html原书都可以设置lang(无命名空间的)属性。
lang
(在XML命令空间内的)可以使用在XML文档中的HTML元素上。
如果一个元素既设置有命名空间的lang属性,又设置没有命名空间的lang属性,请确保两个属性的值一致。
请不要在html文档中使用带有xml命名空间的lang属性。

user agents解析元素的语言属性工作顺序是这样的:
当元素设置了lang属性,则以lang属性为准,否则将以最近的祖先元素的lang属性为准。
如果同时设置了xml命令空间的lang属性,与没有命名空间的lang属性,则以前者为准。
如果在其祖先中没有找到任何lang属性值,而在meta中设置了默认语言,则以此为准。
如果meta中也没有设置,会去查看htpp协议传输的内容(header)中的设置,如果htpp返回多种语言,视为无效,其效果相当于把lang属性设置成空字符串。
你也可以一个不符合标准的lang属性,用于其他服务,例如CSS选择器。