HTML中html元素的lang屬性的說明
https://blog.csdn.net/mirro81/article/details/75213031
HTML中html元素的lang屬性的說明
我在剛開始學習HTML的時候,關於基本的HTML格式中有一點不明白的地方,基本格式如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body></body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
究竟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默認勾選)
題外話:這讓我想起我以前大學畢業做畢設時,瘋狂的在各種網站查資料,明明所查的網站內容是中文,卻還是提醒我是否要翻譯,現在看來,原來是網頁設計不合理,將lang設置成”en”了,雖然不影響正常使用,但是對用戶來說卻是莫名其妙,至少那是的我是一臉懵逼的,”什么鬼?”另外,看了幾家國內的網站,並沒有設置lang屬性,不知是我太愚鈍,還是只是認為用戶就一定是中國人?百度沒有,淘寶沒有,CSDN也沒有,好在騰訊有…
細節決定成敗,耐心鑄造不朽,從小小的lang屬性看出了各廠商的野心。
本人資質蠢鈍,如有不妥,敬請諒解和指正,感激不盡!