HTML5中meta屬性的使用詳解

業餘草發表於2015-05-29

meta屬性在HTML中佔據了很重要的位置。如:針對搜尋引擎的SEO,文件的字元編碼,設定重新整理快取等。雖然一些網頁可能沒有使用meta,但是作為正規軍,我們還是有必要了解一些meta的屬性,並且能夠熟練使用它們。
1、宣告文件使用的字元編碼

<meta charset='utf-8'>

2、宣告文件的相容模式

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 指示IE以目前可用的最高模式顯示內容
<meta http-equiv="X-UA-Compatible" content="IE=Emulate IE7" />指示IE使用 <!DOCTYPE> 指令確定如何呈現內容。標準模式指令以IE7 標準模式顯示,而 Quirks 模式指令以 IE5 模式顯示。

3、SEO 優化

<meta name="description" content="不超過150個字元" />頁面描述
<meta name="keywords" content="html5, css3, 關鍵字"/>頁面關鍵詞
<meta name="author" content="魔法小棧" />定義網頁作者
<meta name="robots" content="index,follow" />定義網頁搜尋引擎索引方式,robotterms是一組使用英文逗號「,」分割的值,通常有如下幾種取值:none,noindex,nofollow,all,index和follow。

4、為移動裝置新增 viewport

<meta name ="viewport" content ="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    content 引數解釋:
    width       viewport 寬度(數值/device-width)
    height            viewport 高度(數值/device-height)
    initial-scale  初始縮放比例
    maximum-scale  最大縮放比例
    minimum-scale  最小縮放比例
    user-scalable  是否允許使用者縮放(yes/no)
    minimal-ui      iOS 7.1 beta 2 中新增屬性,可以在頁面載入時最小化上下狀態列。這是一個布林值,可以直接這樣寫:
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">

5、iOS 裝置

<meta name="apple-mobile-web-app-title" content="標題">新增到主屏後的標題(iOS 6 新增)
<meta name="apple-mobile-web-app-capable" content="yes" />是否啟用 WebApp 全屏模式
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />設定狀態列的背景顏色
    只有在 "apple-mobile-web-app-capable" content="yes" 時生效
    content 引數:
    default 預設值。
    black 狀態列背景是黑色。
    black-translucent 狀態列背景是黑色半透明。
    設定為 default 或 black ,網頁內容從狀態列底部開始。
    設定為 black-translucent ,網頁內容充滿整個螢幕,頂部會被狀態列遮擋。

6、iOS 圖示 rel 引數

apple-touch-icon 圖片自動處理成圓角和高光等效果。
apple-touch-icon-precomposed 禁止系統自動新增效果,直接顯示設計原圖。
<link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57x57-precomposed.png" />iPhone 和 iTouch,預設 57x57 畫素,必須有
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72x72-precomposed.png" />iPad,72x72 畫素,可以沒有,但推薦有
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114-precomposed.png" />Retina iPhone 和 Retina iTouch,114x114 畫素,可以沒有,但推薦有
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144-precomposed.png" />Retina iPad,144x144 畫素,可以沒有,推薦大家使用
<meta name="apple-mobile-web-app-title" content="標題">title最好限制在六個中文長度內,超長的內容會被隱藏,新增到主屏後的標題(iOS 6 新增)

7、iOS 啟動畫面

iPad 的啟動畫面是不包括狀態列區域的。
iPad 豎屏 768 x 1004(標準解析度)
<link rel="apple-touch-startup-image" sizes="768x1004" href="/splash-screen-768x1004.png" />iPad 豎屏 1536x2008(Retina)
<link rel="apple-touch-startup-image" sizes="1536x2008" href="/splash-screen-1536x2008.png" />iPad 橫屏 1024x748(標準解析度)
<link rel="apple-touch-startup-image" sizes="1024x748" href="/Default-Portrait-1024x748.png" />iPad 橫屏 2048x1496(Retina)
<link rel="apple-touch-startup-image" sizes="2048x1496" href="/splash-screen-2048x1496.png" />
iPhone 和 iPod touch 的啟動畫面是包含狀態列區域的。
iPhone/iPod Touch 豎屏 320x480 (標準解析度)
<link rel="apple-touch-startup-image" href="/splash-screen-320x480.png" />iPhone/iPod Touch 豎屏 640x960 (Retina)
<link rel="apple-touch-startup-image" sizes="640x960" href="/splash-screen-640x960.png" />iPhone 5/iPod Touch 5 豎屏 640x1136 (Retina)
<link rel="apple-touch-startup-image" sizes="640x1136" href="/splash-screen-640x1136.png" />
<link rel="apple-touch-startup-image" href="Startup.png" />  當使用者點選主屏圖示開啟 WebApp 時,系統會展示啟動畫面,在未設定情況下系統會預設顯示該網站的首頁截圖,當然這個體驗不是很好

8、Windows 8

<meta name="msapplication-TileColor" content="#000"/> Windows 8 磁貼顏色
<meta name="msapplication-TileImage" content="icon.png"/>Windows 8 磁貼圖示

9、不常用的

<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />新增 RSS 訂閱
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />新增 favicon icon
<meta name="format-detection" content="telephone=no" />禁止數字識自動別為電話號碼
<meta name="format-detection" content="email=no" />不讓android識別郵箱
<meta name="renderer" content="webkit">啟用360瀏覽器的極速模式(webkit)
<meta http-equiv="X-UA-Compatible" content="IE=edge">避免IE使用相容模式
<meta name="HandheldFriendly" content="true">針對手持裝置優化,主要是針對一些老的不識別viewport的瀏覽器,比如黑莓
<meta name="MobileOptimized" content="320">微軟的老式瀏覽器
<meta name="x5-orientation" content="portrait">QQ強制豎屏
<meta name="full-screen" content="yes">UC強制全屏
<meta name="x5-fullscreen" content="true">QQ強制全屏
<meta name="browsermode" content="application">UC應用模式
<meta name="x5-page-mode" content="app">QQ應用模式
<meta http-equiv="Cache-Control" content="no-siteapp" />禁止百度轉碼
<meta name="msapplication-tap-highlight" content="no">windows phone 點選無高光
<meta name="keywords" content="" />  關鍵字
<meta name="description" content="" />  描述
<meta name="title" content="" />  標題
<meta name="author" content="-06" />  作者
<meta name="Copyright" content="" />  公司
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">   讓IE瀏覽器用最高階核心渲染頁面 還有用 Chrome 框架的頁面用webkit 核心 
<meta name="apple-mobile-web-app-capable" content="yes">  IOS6全屏
<meta name="mobile-web-app-capable" content="yes">  Chrome高版本全屏
<meta name="renderer" content="webkit">  讓360雙核瀏覽器用webkit核心渲染頁面
<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL"> 新增智慧 App 廣告條 Smart App Banner(iOS 6+ Safari)

10、sns 社交標籤
參考微博API

<meta property="og:type" content="型別" />
<meta property="og:url" content="URL地址" />
<meta property="og:title" content="標題" />
<meta property="og:image" content="圖片" />
<meta property="og:description" content="描述" />

11、條件註釋判斷IE瀏覽器

<!--[if IE]>條件註釋區分非IE瀏覽器
<!--[if lt IE 7 ]><html class="oldie ie ie6"> <![endif]-->  
<!--[if IE 7 ]><html class="oldie ie ie7"> <![endif]-->  
<!--[if IE 8 ]><html class="ie ie8"> <![endif]-->  
<!--[if (gte IE 9)|!(IE)]><!--><html> <!--<![endif]--> 
<!--[if lt IE 9]>  <![endif]-->

12.如果頁面上出現很多http請求會自動轉換成https

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

歡迎大家關注我的部落格!如有疑問,請加QQ群:135430763、454796847共同學習!

相關文章