HTML元素的lang属性的说明及详解
在刚开始学习HTML的时候,关于基本的HTML格式中有一点不明白的地方,基本格式如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body></body> </html>
<html lang='en'></html> //英文 <html lang='zh'></html> //中文 <html lang='ja'></html> //日文 <html lang='en-us'></html> //美式英文 <html lang='fr'></html> //法文 <html lang='da'></html> //德文 <html lang='it'></html> //意大利文 <html lang='ko'></html> //韩文 <html lang='pl'></html> //波兰文 <html lang='ru'></html> //俄文 <html lang='es'></html> //西班牙文
究竟html标签中的lang属性是干嘛的呢?为什么要指定它的值是”en”或者”zh-CN”呢?个人见解如下:
1.属性lang是英语language的缩写,意思是语言,”en”代表英语,”zh-CN”代表中文
2.在我自己的尝试下,发现,其实不写lang属性,整个HTML文档的显示是没有任何问题的
3.我们都知道,如果你在中国,本地浏览器的默认语言是中文,当我们打开一个外国网站时,浏览器会提示”是否将网页内容翻译成中文”,如下图:
检查一下该网页的源代码,发现lang=”en”(我登陆的是http://www.csszengarden.com/)
4.登录几个中国的本土网站,发现源码中并没有写lang属性,也没有翻译的提示
5.搜索引擎首先自己无法判断自己抓取的页面中的内容是什么语言,因为在它看来都是二进制文件,那么这时就需要我们告诉它这个页面中的内容是什么语言,进而它才能知道下一步该干嘛,也就是说,当你把lang设置为”en”时,无论你网页中是什么语言的内容,在它看来都是英语,如果本地浏览器的默认语言不是英语,就会提示上面的选项,问您是否需要翻译。这个在浏览器的设置中可以清楚地看到:
总结:
1.搜索引擎无法判断页面中的内容是什么语言,需要人们告诉它(这里也体现出语义化的特点,即机器本身什么都不懂,我们需要告诉它这是什么,并且当我们告诉它这是什么后,我们也必须按照这个规则去做,要不将lang设置为”en”,但是我们却在网页中使用中文语言内容,这很大程度上会对机器进行干扰,进而干扰到用户的正常体验,这样做就毫无意义。)
2.浏览器会将读取到的页面语言和本地语言进行比较判断,如果一致,不做处理,否则提示是否需要翻译(当然前提是用户勾选了这个功能,chrome默认勾选)
————————————————
版权声明:本文为CSDN博主「刺心疯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42363090/article/details/100897292
免责申明
本平台部分信息来源于网络,观点仅代表作者本人,转载仅以信息传播分享为目的,如有侵权,请提供版权疑问、身份证明、版权证明、联系方式等发邮件至hbfef@qq.com ,我们将及时进行处理。