1. 程式人生 > 其它 >HTML中html元素的lang屬性的說明 <html lang="en"> lang="zh-CN"

HTML中html元素的lang屬性的說明 <html lang="en"> lang="zh-CN"

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屬性看出了各廠商的野心。
本人資質蠢鈍,如有不妥,敬請諒解和指正,感激不盡!