CSS入門2-認(rèn)識html之meta標(biāo)簽詳解

(注1:如果有問題歡迎留言探討,一起學(xué)習(xí)!轉(zhuǎn)載請注明出處,喜歡可以點個贊哦!)
(注2:更多內(nèi)容請查看我的目錄。)

上篇我們主要認(rèn)識了頭部內(nèi)容的標(biāo)簽,但是還留了一個小尾巴,那就是meta標(biāo)簽。在文章中我給出了一篇文章Http meta詳解供大家學(xué)習(xí)參考,該篇作者所述的內(nèi)容已經(jīng)非常詳盡了,但是我們還是要用自己的方式去理解一遍。

1. 簡介

理解一樣?xùn)|西,首先在于理解其存在的意義,或者說這個東西的出現(xiàn)是為了解決什么問題。那么meta到底為我們的網(wǎng)頁帶來了什么作用呢?大家試想一下,我們寫了一個網(wǎng)頁丟在網(wǎng)上,是希望別人來訪問的。我們把寫好的代碼放在服務(wù)器,需要通過瀏覽器的處理變成網(wǎng)頁。而網(wǎng)絡(luò)上的網(wǎng)頁多如繁星,需要吸引用戶搜索,點擊這個鏈接,然后才能最終呈現(xiàn)在用戶面前。這里有兩個關(guān)鍵點:

  1. 瀏覽器會如何顯示網(wǎng)頁的內(nèi)容
  2. 用戶為何會點擊你的網(wǎng)頁

meta的出現(xiàn)就是為了解決這兩個問題。那么,它是如何解決這兩個問題呢?

2. http-equiv

http-equiv顧名思義,相當(dāng)于http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網(wǎng)頁內(nèi)容,與之對應(yīng)的屬性值為content,content中的內(nèi)容其實就是各個參數(shù)的變量值。meta標(biāo)簽的http-equiv屬性語法格式是:

<meta http-equiv="參數(shù)" content="參數(shù)變量值"> ;

當(dāng)瀏覽器等設(shè)備接收服務(wù)器端傳送的文件時,首先會接收文件的相關(guān)名稱/值對,通常為多個。雖然有些服務(wù)器會發(fā)送許多這種名稱/值對,但是所有服務(wù)器都至少要發(fā)送一個:content-type:text/html。這將告訴瀏覽器準(zhǔn)備接受一個 HTML 文檔。

其中http-equiv屬性主要有以下幾種參數(shù):

2.1 content-Type(定義mime類型,顯示字符集)

作用 content-type用于定義用戶的瀏覽器或相關(guān)設(shè)備如何顯示將要加載的數(shù)據(jù),或者如何處理將要加載的數(shù)據(jù),此屬性的值可以查看MIME類型。但是其最重要的MIME類型是text/html,并用來設(shè)置字符集。

用法:

<meta http-equiv="content-type" content="text/html;charset=XXX">

示例:

<meta http-equiv="content-type" content="text/html;charset=utf-8">

設(shè)置字符集時,可以簡寫:

<meta charset="utf-8">

XXX取值:

  • gb2312(或gbk)時,代表說明網(wǎng)站是采用的編碼是簡體中文
  • big5時,代表說明網(wǎng)站是采用的編碼是繁體中文
  • iso-2022-jp時,代表說明網(wǎng)站是采用的編碼是日文
  • ks_c_5601時,代表說明網(wǎng)站是采用的編碼是韓文
  • iso-8859-1時,代表說明網(wǎng)站是采用的編碼是英文
  • utf-8時,代表世界通用的語言編碼(最常用)

2.2content-language(顯示語言設(shè)置)

作用:設(shè)定頁面的語言以及國家代碼(HTML文檔的語言可通過在html標(biāo)簽的lang屬性、xml:lang屬性或meta標(biāo)簽的content-language中聲明。明確網(wǎng)頁使用的語言,有助于瀏覽器與搜索引擎進行相應(yīng)的解析與索引。

用法:

<meta http-equiv="content-language" content="primarycode-subcode">

示例:

<meta http-equiv="content-language" content="zh-cn">

例如:language-code為"en"時,代表English英文,而language-code為"en-US"時,代表the U.S. version of English美國版本的英文。

primary-code為語言代碼設(shè)置,subcode為國家代碼

primarycode常用取值:

  • zh (Chinese)中國
  • fr (French)法國
  • de (German)德國
  • it (Italian)意大利
  • nl (Dutch)荷蘭
  • el (Greek)希臘
  • es (Spanish)西班牙
  • pt (Portuguese)葡萄牙
  • ar (Arabic)阿拉伯
  • ru (Russian)俄羅斯
  • ja (Japanese)日本

另外,關(guān)于charset和content-type的區(qū)別,大家可以參考這篇文章:html中charset和content-language的區(qū)別

2.3 refresh(刷新與重定向)

作用:用于刷新與重定向頁面。

用法示例:
5秒之后刷新本頁面:

<meta http-equiv="refresh" content="5">

5秒之后跳轉(zhuǎn)到我的簡書主頁:

<meta http-equiv="refresh" content="5; url=http://www.lxweimin.com/u/7a62ab344c39">

2.4 expires(過期時間-控制緩存)

作用:可以用于設(shè)定網(wǎng)頁的到期時間。一旦網(wǎng)頁過期,必須到服務(wù)器上重新傳輸。時間必須使用GMT格式。

用法示例:

<meta http-equiv="expires" content="Sunday 26 October 2008 01:00 GMT" >

2.5 pragma(cache模式)

作用:禁止瀏覽器從本地計算機讀取緩存
用法:

<meta http-equiv="pragma" content="no-cache">

注意:這樣設(shè)定,訪問者將無法脫機瀏覽。

2.6 cache-control(緩存設(shè)定)

作用:HTTP1.1中啟用Cache-Control 來控制頁面的緩存與否

用法:

<meta http-equiv="cache-control" content="XXX">

XXX取值如下;

  • max-age=[秒] — 執(zhí)行緩存被認(rèn)為是最新的最長時間。類似于過期時間,這個參數(shù)是基于請求時間的相對時間間隔,而不是絕對過期時間,[秒]是一個數(shù)字,單位是秒:從請求時間 開始到過期時間之間的秒數(shù)。
  • s-maxage=[秒] — 類似于max-age屬性,除了他應(yīng)用于共享(如:代理服務(wù)器)緩存。
  • public — 標(biāo)記認(rèn)證內(nèi)容也可以被緩存,一般來說: 經(jīng)過HTTP認(rèn)證才能訪問的內(nèi)容,輸出是自動不可以緩存的。
  • no-cache — 強制每次請求直接發(fā)送給源服務(wù)器,而不經(jīng)過本地緩存版本的校驗。這對于需要確認(rèn)認(rèn)證應(yīng)用很有用(可以和public結(jié)合使用),或者嚴(yán)格要求使用最新數(shù)據(jù)的應(yīng)用(不惜犧牲使用緩存的所有好處)。
  • no-store — 強制緩存在任何情況下都不要保留任何副本。
  • must-revalidate — 告訴緩存必須遵循所有你給予副本的新鮮度,HTTP允許緩存在某些特定情況下返回過期數(shù)據(jù),指定了這個屬性,你可以高速緩存,表明你希望嚴(yán)格的遵循你的規(guī)則。
  • proxy-revalidate — 和 must-revalidate類似,除了他只對緩存代理服務(wù)器起作用。

(ps:可以看到expires,pragma和cache-control都對緩存起作用,那么他們有什么區(qū)別,不同的參數(shù)在不同的瀏覽器表現(xiàn)形式如何呢。這一塊我們今后會在HTTP系列具體說明。)

2.7 set-cookie(cookie設(shè)定)

作用:如果網(wǎng)頁過期,那么存盤的cookie將被刪除。

用法:

<meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday,12-Jan-2001 18:18:18 GMT; path=/">

注意:必須使用GMT的時間格式。

2.8 window-target(顯示窗口的設(shè)定)

作用:強制頁面在當(dāng)前窗口以獨立頁面顯示,用來防止別人在框架里調(diào)用自己的頁面。

用法:

<meta http-equiv="Window-target" content="_top">

2.9 X-UA-Compatible(IE8專用標(biāo)記-兼容)

作用:IE8的專用標(biāo)記,用來指定IE8瀏覽器去模擬某個特定版本的IE瀏覽器的渲染方式,以此來解決部分兼容問題。
用法示例:

<meta http-equiv="X-UA-Compatible" content="IE=7">  

以上代碼告訴IE瀏覽器,無論是否用DTD聲明文檔標(biāo)準(zhǔn),IE8/9都會以IE7引擎來渲染頁面。

<meta http-equiv="X-UA-Compatible" content="IE=8">  

以上代碼告訴IE瀏覽器,IE8/9都會以IE8引擎來渲染頁面。

<meta http-equiv="X-UA-Compatible" content="IE=edge">  

以上代碼告訴IE瀏覽器,IE8/9及以后的版本都會以最高版本IE來渲染頁面。

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

以上代碼IE=edge告訴IE使用最新的引擎渲染網(wǎng)頁,chrome=1則可以激活Chrome Frame。

PS:谷歌添加一個插件:Google Chrome Frame(谷歌內(nèi)嵌瀏覽器框架GCF),這個插件可以讓用戶的IE瀏覽器外觀不變,但用戶在瀏覽網(wǎng)頁時,實際上使用的是Google Chrome瀏覽器內(nèi)核,而且支持IE6、7、8等多個版本的IE瀏覽器。

3. name

name屬性主要用于描述網(wǎng)頁,與之對應(yīng)的屬性值為content,content中的內(nèi)容主要是便于搜索引擎機器人查找信息和分類信息用的。

meta標(biāo)簽的name屬性語法格式是:

<meta name="參數(shù)" content="具體的參數(shù)值">;

name主要有以下幾種參數(shù):

3.1 author(定義網(wǎng)頁作者)

作用:定義網(wǎng)頁作者

用法示例:

<meta name="author" content="yourName">

網(wǎng)頁作者是yourName

3.2 keywords(定義關(guān)鍵詞)

作用:定義頁面關(guān)鍵詞,用于被搜索引擎收錄。

用法示例:

<meta name ="keywords" content="science,education,culture,politics,ecnomics,relationships,entertainment,human">

3.3 descption(網(wǎng)頁描述)

作用:用來告訴搜索引擎你的網(wǎng)站主要內(nèi)容。

用法示例:

<meta name="description" content="This page is about the meaning of science,education,culture.">

網(wǎng)站內(nèi)容描述(description)的設(shè)計要點:

①網(wǎng)頁描述為自然語言而不是羅列關(guān)鍵詞(與keywords設(shè)計正好相反);

②盡可能準(zhǔn)確地描述網(wǎng)頁的核心內(nèi)容,通常為網(wǎng)頁內(nèi)容的摘要信息,也就是希望搜索引擎在檢索結(jié)果中展示的摘要信息;

③網(wǎng)頁描述中含有有效關(guān)鍵詞;

④網(wǎng)頁描述內(nèi)容與網(wǎng)頁標(biāo)題內(nèi)容有高度相關(guān)性;

⑤網(wǎng)頁描述內(nèi)容與網(wǎng)頁主體內(nèi)容有高度相關(guān)性;

⑥網(wǎng)頁描述的文字不必太多,一般不超過搜索引擎檢索結(jié)果摘要信息的最多字?jǐn)?shù)(通常在100中文字之內(nèi),不同搜索引擎略有差異)。

3.4 robots(搜索引擎索引方式)

作用:用于定義網(wǎng)頁搜索引擎索引方式。告訴搜索機器人哪些頁面需要索引,哪些頁面不需要索引。

用法:

<meta name="robots" content="XXX">

XXX取值說明(默認(rèn)是all):

  • none
    搜索引擎將忽略此網(wǎng)頁,等價于noindex,nofollow。
  • noindex
    搜索引擎不索引此網(wǎng)頁。
  • nofollow
    搜索引擎不繼續(xù)通過此網(wǎng)頁的鏈接索引搜索其它的網(wǎng)頁。
  • all
    搜索引擎將索引此網(wǎng)頁與繼續(xù)通過此網(wǎng)頁的鏈接索引,等價于index,follow。
  • index
    搜索引擎索引此網(wǎng)頁。
  • follow
    搜索引擎繼續(xù)通過此網(wǎng)頁的鏈接索引搜索其它的網(wǎng)頁。
  • noarchive
    禁止搜索引擎建立網(wǎng)頁快照。

特殊用法示例:

  1. 針對谷歌GOOGLEBOT使用robots
    可以將name的屬性只定義為GOOGLEBOT標(biāo)識為谷歌搜索引擎。
<meta name="googlebot" content="noindex, nofollow" />
  1. 針對百度baiduspider使用robots
    可以將name的屬性只定義為baiduspider標(biāo)識為百度搜索引擎。
<meta name="baiduspider" content="noarchive" />

3.5 copyright(網(wǎng)頁版權(quán))

作用:定義網(wǎng)頁的版權(quán)

用法示例:

<meta name="copyright" content="本頁版權(quán)XXX所有。All Rights Reserved" />

3.6 data(定義網(wǎng)頁生成時間)

作用:定義網(wǎng)頁生成時間

用法示例:

<meta name="data" content="2017-11-22T13:47:30+00:00">

3.7 revisied(定義網(wǎng)頁文檔修改時間)

作用:定義網(wǎng)頁文檔修改時間

用法示例:

<meta name="revised" content="css入門修煉, 11/23/2017"/>

3.8 renderer(渲染方式)

作用:指定雙核瀏覽器默認(rèn)以何種方式渲染頁面。

用法示例:

<meta name="renderer" content="webkit">//默認(rèn)webkit內(nèi)核
<meta name="renderer" content="ie-comp">//默認(rèn)IE兼容模式
<meta name="renderer" content="ie-stand">//默認(rèn)IE標(biāo)準(zhǔn)模式

PS:360瀏覽器支持

3.9 generator(網(wǎng)頁制作軟件)

用法示例:

<meta name="generator" content="Microsoft"/>

3.10 viewport(用戶網(wǎng)頁的可視區(qū)域)

作用:設(shè)置用戶網(wǎng)頁的可視區(qū)域
(ps:viewport展開來講又是一個很大的話題,首先需要我們對像素,分辨率等內(nèi)容有所了解。這一塊我會專門放在單位和響應(yīng)式布局的章節(jié)中來講解。現(xiàn)在我們先簡單看一下,content的可選項)

  • width:viewport 的寬度
  • height:viewport的高度 (很少使用)
  • initial-scale:設(shè)置頁面的初始縮放值
  • minimum-scale:允許用戶的最小縮放值
  • maximum-scale:允許用戶的最大縮放值
  • user-scalable:是否允許用戶進行縮放
  • target-densitydpi(android才生效):設(shè)備的密度等級

常用移動端設(shè)置方法如下:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1; user-scalable=no;">

這段代碼的意思是,讓viewport的寬度等于物理設(shè)備上的真實分辨率,不允許用戶縮放。一般主流的web app都是這么設(shè)置的,它的作用其實是故意舍棄viewport,不縮放頁面,這樣dpi肯定和設(shè)備上的真實分辨率是一樣的,不做任何縮放,網(wǎng)頁會因此顯得更高細(xì)膩。

參考

W3school-HTML <meta> 標(biāo)簽
百度百科-meta
Http meta詳解
html中charset和content-language的區(qū)別
HTML meta content-language 定義頁面語言
語言名稱代碼表
國家名稱代碼表
夢之都-HTML meta 標(biāo)簽
頁面的緩存設(shè)置與meta的作用詳細(xì)解釋
Http頭介紹:Expires,Cache-Control,Last-Modified,ETag
百度百科-Cache-control
響應(yīng)式 Web 設(shè)計 - Viewport
說說移動前端中 viewport (視口)
HTML meta viewport屬性說明(mark)
viewport就是這回事

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • meta ??元素可提供相關(guān)頁面的元信息(meta-information),比如針對搜索引擎和更新頻度的描述和關(guān)...
    鹿守心畔光閱讀 705評論 0 2
  • HTML基礎(chǔ) 本文包括 HTML基本知識與結(jié)構(gòu) HTML常見標(biāo)簽 標(biāo)簽寫法與嵌套的討論 HTML、CSS、java...
    廖少少閱讀 2,121評論 2 21
  • 1. meta標(biāo)簽的組成 meta標(biāo)簽共有兩個屬性,它們分別是http-equiv屬性和name屬性 1. nam...
    Maggie_77閱讀 519評論 1 1
  • meta是html語言head區(qū)的一個輔助性標(biāo)簽。也許你認(rèn)為這些代碼可有可無。其實如果你能夠用好meta標(biāo)簽,會給...
    才気莮孒閱讀 1,027評論 0 2
  • 頭疼我們很久的李京芮晚睡問題,終于有了很大改善,這很大程度上得益于她幼兒園的班主任陸老師,嚴(yán)管厚愛,這需要勇氣,既...
    蒹葭蒼蒼子衿悠悠閱讀 339評論 0 0