meta 元素用于指定页面的信息和部分行为。通常用于指定网页的描述,关键字等元数据。
可以被使用浏览器、搜索引擎或其他 Web 服务调用。
<meta name="" http-equip="" content="" charset="">
charset
规定HTML
文档的字符编码。
<meta charset="utf-8">
charset
是HTML 5
的新属性,替换了HTML 4.01
的指定字符编码的方式,可以减少部分代码量。
<meta http-equiv="content-type" content="text/html; charset=utf-8">
指定页面关键字。
<meta name="keywords" content="html,css">
指定页面描述信息。
<meta name="description" content="html description">
标注页面作者。
<meta name="author" content="xx">
标注页面版权信息。
<meta name="copyright" content="Baidu">
标注开发网页的工具或软件。
<meta name="generator" content="VS Code">
告知搜索引擎抓取页面的方式。
其中content
参数如下。
index
:搜索引擎可以索引此页面,默认属性,不设置meta
标签,搜索引擎也会默认索引此页面noindex
:搜索引擎不可索引此页面noimageindex
:搜索引擎不可索引此页面的图片follow
:爬虫可以爬取此页面的链接nofollow
:爬虫不可爬取此页面的链接all
:index
和follow
的简写,搜索引擎可以索引此页面,爬虫可以爬取此页面的链接none
:noindex
和nofollow
的简写,搜索引擎不可索引此页面,爬虫不可爬取此页面的链接noarchive
:阻止搜索引擎在搜索结果中显示此页面的缓存版本,即网页快照nocache
:功能同noarchive
一致,适用于MSN/Live
引擎nosnippet
:搜索引擎的搜索结果中将显示一部分搜索文字上下文的内容,此属性即搜索引擎不可显示该内容,另外搜索引擎也不会保存该页面的快照noodp
:搜索引擎的搜索结果中将显示一部分搜索文字上下文的内容,阻止使用DMOZ
信息做为此内容noydir
:搜索引擎的搜索结果中将显示一部分搜索文字上下文的内容,阻止Yahoo directory
信息作为此内容<meta name="robots" content="index, follow">
指定浏览器以哪种浏览器内核渲染页面,其中content
参数包括webkit
(webkit
内核,极速模式)、ie-comp
(IE
兼容模式,即IE6
、IE7
、IE8
的渲染模式)、ie-stand
(IE
标准模式,即以IE9
及以上版本渲染)。
<meta name="renderer" content="">
移动端浏览器中,用于识别电话号码、电子邮箱和地理位置的格式。其中content
参数为yes
(开启,默认值)、no
(关闭)。
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="email=no">
<meta name="format-detection" content="address=no">
告知搜索引擎每隔多少天访问一次此页面。
一般情况下,网站不需要此属性来限制搜索引擎的访问频率。只有网站数据量非常大时,被搜索引擎频繁抓取,会占用过多的服务器资源,影响网站的反应速度,这种情况一般设置每隔5-7
天来访问抓取一次网页即可。
网站抓取时间取决于此属性和搜索引擎的重访时间,假设revisit-after
设置为5
天,若搜索引擎每隔10
天访问一次,revisit-after
不会生效,而最终搜索引擎按照10
天访问一次。搜索引擎每隔3
天访问一次,revisit-after
设置的5
天则会生效,最终搜索引擎每隔5
天访问一次页面。
<meta name="revisit-after" content="5 days">
referrer
有来源页面的意思,即表示当前页面是由哪个页面跳转过来的,具体则是跳转至当前页面的http
请求的请求头中的Referer
字段包含了上一个页面的URL
地址。
可能会发现拼写少了一个r
,正确的拼写其实是Referrer
,但是由于http
标准发布时没有发现拼写错误,所以就一直沿用至今。
例如,当前页面的URL
地址为http://127.0.0.1:5500/
。
<!DOCTYPE html>
<html lang="zh-CN">
<body>
<a href="http://www.baidu.com">百度</a>
</body>
</html>
点击跳转至百度页面,查看页面请求的请求头。
因此服务端可以统计用户来源,并以此进行统计分析、日志记录以及缓存优化等。
但是注意Referer
可能会暴露用户的浏览历史 ,并且很多时候当前页面的URL
是会包含用户的个人信息的(例如token
),所以某些时候需要移除、禁用或者修改策略。
<meta name="referrer" content="">
content
属性值如下。
no-referrer
:不发送Referer
信息no-referrer-when-downgrade
:默认值,安全级别下降时不发送Referer
信息,目前仅一种情况安全级别下降,即https
网页跳转至http
网页,其它情况发送Referer
完整信息origin
:会发送Referer
信息,但是仅发送源信息,包括协议、域名和端口号same-origin
:仅同源链接发送Referer
完整信息strict-origin
:即origin
与no-referrer-when-downgrade
合并,安全级别下降时不发送Referer
信息,安全级别未下降时发送 Referer
源信息origin-when-cross-origin
:跨域时发送Referer
源信息,非跨域时即同源情况发送Referer
完整信息strict-origin-when-cross-origin
:同源链接发送Referer
完整信息,安全级别下降时不发送Referer
信息,其它情况发送Referer
源信息unsafe-url
:最不安全的策略,无论什么情况都发送 Referer
完整信息 meta
标签指定content
是修改全局策略。
单个a
标签可通过referrerpolicy
属性修改局部策略,更多 详细参考。
<a href="http://www.baidu.com" referrerpolicy="no-referrer">百度</a>
规定HTML
文档的字符编码。
<meta http-equiv="content-type" content="text/html; charset=utf-8">
标注页面的目标受众或者标注当前页面存在的语言。
<meta http-equiv="content-language" content="en">
标注页面中脚本的类型。
<meta http-equiv="content-script-type" content="text/javascript">
刷新或跳转(重定向)页面,content
表示刷新或跳转的时间与跳转的网址。
3s
后刷新页面。
<meta http-equiv="refresh" content="3">
3s
后页面跳转至百度,跳转方式为当前窗口下跳转。
<meta http-equiv="refresh" content="3; url=http://www.baidu.com">
指定网页在缓存中的过期时间,一旦网页过期,必须到服务器上重新加载到本地缓存才能访问。
指定网页在未来的某个时间过期,注意时间格式为GMT
(格林尼治标准时间)。
<meta http-equiv="expires" content="Mon, 31 May 3021 06:00:00 GMT">
指定网页可在本地缓存的时间(秒),指定0
或负数,则每次访问网页都需要从服务器重新加载内容。
<meta http-equiv="expires" content="2000">
禁止浏览器从本地缓存中访问页面的内容,即用户无法脱机浏览。
注意仅IE
浏览器能识别此段meta
标签含义,其它主流浏览器仅能识别cache-control
属性的meta
标签。为了网页兼容性,最好pragma
和cache-control
两者一起使用。
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
设置页面显示的窗口方式,content
参数如下,详细参考。
_top
:页面以当前整个窗口的方式显示,可用于防止页面被其他网页嵌套_black
:页面以新打开的方式显示_self
:页面以当前容器或窗口显示_parent
:页面以父容器或窗口显示<meta http-equiv="window-target" content="_top">
设置cookie
值及其有效时间。
注意浏览器正在远离此方式,可能由于浏览器版本原因,会产生警告或错误。此功能已在M63
中废弃,并且在M65
中完全删除。
<meta http-equiv="set-cookie" content="cookievalue=xxx; expires=Mon, 31 May 3021 06:00:00 GMT; path=/">
网页等级评定,IE
浏览器可以根据网页的限制等级来过滤网页。
<meta http-equiv="pics-label" content="">
设置网页退出和进入的过渡效果。
其中包括blendTrans
淡入淡出过渡效果,此效果只能设置过渡持续时间(秒)。
另一种revealTrans
,可以设置过渡效果类型和过渡持续时间(秒)。
淡入持续5
秒。
<meta http-equiv="page-enter" content="blendTrans(duration=5)">
矩形扩大持续2
秒。
<meta http-equiv="page-enter" content="revealTrans(duration=2, transition=1)">
其中transition
过渡效果有24
种,包括0
(矩形缩小)、1
(矩形扩大)、2
(圆形缩小)、3
(圆形扩大)、4
(下到上刷新)、5
(上到下刷新)、6
(左到右刷新)、7
(右到左刷新)、8
(竖百叶窗)、9
(横百叶窗)、10
(错位横百叶窗)、11
(错位竖百叶窗)、12
(点扩散)、13
(左右到中间刷新)、14
(中间到左右刷新)、15
(中间到上下)、16
(上下到中间)、17
(右下到左上)、18
(右上到左下)、19
(左上到右下)、20
(左下到右上)、21
(横条)、22
(竖条)、23
(以上22
种随机选择一种)。
注意由于浏览器的版本原因,多数都不再支持page-enter/page-exit
属性。
针对IE8
的特殊属性,指定在IE8
浏览器内以哪种IE
版本的模式来渲染页面内容,以此来解决IE
浏览器的兼容问题。
指定多个模式,如下在IE8
中浏览页面时,将会使用IE7
的标准模式渲染页面。由于IE8
自身不支持IE9
和IE10
,而IE7
是相对IE5
和IE6
的最高版本的渲染模式,故最终会以IE7
渲染页面。
<meta http-equiv="X-UA-compatible" content="IE=5,6,7,9,10">
使用最新版本的IE
浏览器渲染页面,即使用的是什么版本的IE
浏览器,就用什么版本的标准渲染模式。
<meta http-equiv="X-UA-compatible" content="IE=edge">
指定IE
浏览器使用Google Chrome Frame
(GCF
)模式渲染页面,GCF
是谷歌内嵌浏览器框架,专门为IE
浏览器开发的浏览器内核插件,支持IE6
、IE7
、IE8
等多个版本的IE
浏览器。
<meta http-equiv="X-UA-Compatible" content="chrome=1">
绝大多数网站均使用如下方式,即IE
浏览器安装了GCF
插件,则使用GCF
浏览器内核渲染页面,若未安装GCF
插件,则使用最高版本的IE
内核渲染页面。
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
用于控制浏览器和服务器之间的缓存请求和响应。
<meta http-equiv="cache-control" content="">
其中content
参数如下。
public
:可以在任何客户端(浏览器、本地缓存、各种代理服务器等)中缓存,但是不能设置缓存期限max-age
:不仅可以被任何客户端缓存,而且还可以设置缓存期限。缓存期限是相对服务器时间而言的,超过设置时间,缓存则被认为过期,再次访问需要重新请求服务器加载缓存。如下最大缓存时间为60
秒,超过60
秒,缓存则被认为过期<meta http-equiv="cache-control" content="max-age=60">
private
:只能被单个用户缓存,不允许中间代理缓存。例如CDN
不能缓存private
的响应only-if-cached
:若缓存存在,只使用缓存,不需要请求服务器加载更新内容no-cache
:先发送请求,与服务器确认资源是否被修改,若未被修改,则使用缓存no-store
:不允许缓存,再次访问需重新从服务器上加载缓存no-transform
:不可对网页内容或网页中的资源进行转换,以便节省缓存空间no-siteapp
:禁止百度、搜狗等搜索引擎对网页进行转码禁止百度、搜狗等网页进行转码处理。
<meta http-equiv="cache-control" content="no-transform">
<meta http-equiv="cache-control" content="no-siteapp">
每次打开网页,清除网页缓存。http 1.1
协议需要用到cache-control
来规范,而http 1.0
适用pragma
和expires
来规范,为了网页兼容性,最好三个一起使用。
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">
禁用隐式的 DNS 预解析。
<meta http-equiv="x-dns-prefetch-control" content="off">
用于优化移动端的网页,使得web
端的网页在手机端正常显示,页面布局不会错位。注意meta
的viewpoint
属性只对移动端浏览器有效,对pc
端浏览器是无效的。
viewport
主要包括如下三种类型。
980px
(也有少部分1024px
或者其他宽度的),故只要整个网页宽度不超过此默认值,页面就可以正常显示<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
viewport
属性及其用法如下。
width
:控制布局视区的宽度,也可指定为固定宽度值,或者设置为device-width
。如果width
不设置或者为空,则使用默认宽度,即上述的980px
或1024px
。如果设置为device-width
,则表示设置为理想视区,即布局视区宽度等于可见视区宽度。如果width
设置为固定宽度,单位为px
,也可以不带单位,默认单位为px
height
:控制布局视区的高度,一般不设置,极少使用initial-scale
:设置布局视区初始化缩放比例(即每一次加载页面时的缩放比例),为一个数字,可以是小数。如果设置initial-scale
为1
,则和width=device-width
一致,表示设置为理想视区。但是两者均有一个小缺陷,即width=device-width
会导致iPhone
和iPad
横竖屏不分,initial=1.0
会导致IE
横竖屏不分,故两者都使用,可互相弥补缺陷maximum-scale
:允许用户缩放的最大比例值,为一个数字,可以带小数。需要大于minimum-scale
minimum-scale
:允许用户缩放的最小比例值,为一个数字,可以带小数user-scalable
:是否允许用户手动缩放布局视区,非必须参数,其中参数为no
(不允许)、yes
(允许) 指定屏幕方向,其中content
参数为landscape
(横屏)、portrait
(竖屏)。
<meta name="x5-orientation" content="landscape">
全屏显示。
<meta name="x5-fullscreen" content="true">
指定页面以应用模式显示。
<meta name="x5-page-mode" content="app">
指定屏幕方向,其中content
参数为landscape
(横屏)、portrait
(竖屏)。
<meta name="screen-orientation" content="portrait">
全屏显示。
<meta name="full-screen" content="yes">
指定页面以应用模式显示。
<meta name="browsermode" content="application">
夜间模式,其中content
参数为enable
(开启)、disable
(关闭),注意若用户开启浏览器的夜间模式,而nightmode
设置为disable
,页面也是以非夜间模式显示。
<meta name="nightmode" content="disable">
强制图片显示,浏览器为用户提供了无图模式,但是某些页面图片是必须的(如验证码等),如下可强制页面显示图片。
<meta name="imagemode" content="force">
imagemode
设置为force
会作用于整个页面,单张可设置如下。
<img src="" show="force">
指定页面排版模式,其中content
参数为fitscreen
(简化页面处理,适用页面阅读省流)、standard
(同标准浏览器一致),注意layoutmode
指定后,浏览器提供的页面排版模式将会失效。
<meta name="layoutmode" content="fitscreen">
缩放不显示滚动条,其中content
参数为yes
(用户缩放不会出现滚动条)、no
(同标准浏览器一致)。
<meta name="viewport" content="uc-fitscreen=yes">
隐藏苹果默认的工具栏和菜单栏,其中content
参数包括yes
(页面以全屏运行)、no
(正常显示)。
<meta name="apple-mobile-web-app-capable" content="no">
设备顶部状态栏背景色,其中content
参数包括default
(白色,默认值)、black
(黑色)、black-translucent
(灰色半透明)。
<meta name="apple-mobile-web-app-status-bar-style" content="">
网页添加到主屏幕后的标题(类似App
的名称)。
<meta name="apple-mobile-web-app-title" content="">
网页添加到主屏幕后的图标如下,其中apple-touch-icon
支持sizes
属性,用来对应不同设备。
57 * 57
(默认值)对应320 * 640
的iPhone
老设备,72 * 72
对应iPad
,114 * 114
对应retina
屏幕的iPhone
和iTouch
,144 * 144
对应iPad
的高分辨率。
其中图标匹配方式如下。
precomposed
关键字的图标link
指定图标,自动搜索网站根目录下带有app-touch-icon
或者app-touch-icon-precomposed
前缀的图标 retina
图标是标准图标大小的两倍,实际仅仅需要114 * 114
和144 * 144
两款图标即可。将retina
图标的大小设置成标准图标的尺寸,IOS
会根据情况自动进行缩放。
<link rel="apple-touch-icon" sizes="57x57" href="assets/imgs/logo.png">
<link rel="apple-touch-icon" sizes="114x114" href="assets/imgs/logo.png">
<link rel="apple-touch-icon" sizes="72x72" href="assets/imgs/[email protected]">
<link rel="apple-touch-icon" sizes="144x144" href="assets/imgs/[email protected]">
网页添加到主屏幕后,设置打开后的启动画面。
其中在iPhone
和iTouch
设备上只支持竖屏模式,图片分辨率为320 * 640
,在iPad
上支持竖屏和横屏两种模式,分辨率为768 * 1004
和748 * 1024
。
apple-touch-startup-image
不支持sizes
属性,可以使用media
来支持多种屏幕。
<link rel="apple-touch-startup-image" href="assets/imgs/startup-l.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)">
<link rel="apple-touch-startup-image" href="assets/imgs/startup-l.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)">
<link rel="apple-touch-startup-image" href="assets/imgs/startup.png">
区别于apple-touch-icon
,若属性值为apple-touch-icon-precomposed
时,系统不会对图标添加类似于圆角和高光的效果,若属性值为apple-touch-icon
时系统会自动为图标添加圆角和高光。
<link rel="apple-touch-icon-precomposed" href="assets/imgs/logo.png">
告知iPhone
的safari
浏览器,网页对应的appid
,便于在页面显示app
的下载广告条。
<meta name="apple-itunes-app" content="app-id=123456789">
禁止自动翻译。
<meta name="google" value="notranslate">
使用Chrome for Android
版本的浏览器添加到主屏幕后,页面以全屏显示,即隐藏工具栏和菜单栏。
<meta name="mobile-web-app-capable" content="yes">
指定Chrome for Android
版的浏览器的设备顶部状态栏主题色。
<meta name="theme-color" content="#000000">
指定页面代表的web
应用程序的名称,光标悬停在Win7
任务栏的固定网站按钮上时,此名称将出现在工具提示中,详细参考 application-name。
<meta name="application-name" content="">
禁止页面链接高亮。
<meta name="msapplication-tap-highlight" content="no">
光标悬停在网页快捷方式上,将会显示此提示文本,详细参考 msapplication-tooltip。
<meta name="msapplication-tooltip" content="">
指定网页快捷方式的根URL
,不指定则默认使用当前页的地址,详细参考 msapplication-starturl。
<meta name="msapplication-starturl" content="">
指定网页快捷方式的首次启动的初始窗口大小,若用户调整了窗口大小,网页将保留新的尺寸值,详细参考 msapplication-window。
<meta name="msapplication-window" content="width=1024;height=768">
自定义网页快捷方式的浏览器窗口中前进和后退按钮的颜色,详细参考 msapplication-navbutton-color。
<meta name="msapplication-navbutton-color" content="#FF3300">
将某个网页同引用程序一般固定在Win7
任务栏,在点击后显示一个相关站点的列表,详细参考 msapplication-task。
<meta name="msapplication-task" content="name=xx; action-uri=http://www.xxx.com; icon-uri=/imgs/logo.ico">
在msapplication-task
中呈现的站点列表中,在各个任务之间放置一条分割线。若指定多条分割线,则通过声明不同content
来使每条分割线都具有唯一性。
<meta name="msapplication-task-separator" content="id">
Win8
版本后,支持将网页固定在开始屏幕中,且可以自定义图标和背景图,此属性用来指定图标,详细参考 msapplication-TileImage。
<meta name="msapplication-TileImage" content="/imgs/logo.png">
同 msapplication-TileImage
类似,指定背景色,详细参考 msapplication-TileColor。
<meta name="msapplication-TileColor" content="#FF3300">
用于网页关联Win8
应用程序,IE
识别用户计算机是否安装了关联应用,若未安装,则提供指向安装此应用程序的直接链接,若安装了则显示切换到xxx
应用,详细参考 msApplication-ID。
<meta name="msApplication-ID" content="App">
用于将网页连接到商店,详细参考 msApplication-PackageFamilyName。
<meta name="msApplication-PackageFamilyName"content="">
传递给应用程序的参数字符串,详细参考 msApplication-Arguments。
<meta name="msApplication-Arguments" content="">
强制要求应用程序的最低版本,若用户尝试切换到过低版本的应用程序,会被链接到应用商店更新应用程序,详细参考 msApplication-Arguments。
<meta name="msApplication-MinVersion" content="">
是否阻止用户安装或者切换应用程序,详细参考 msApplication-Arguments。
<meta name="msApplication-OptOut" content="install">
将网页固定到开始屏幕后,Win8
可以轮询更新更新其中的应用程序,如下指定应用程序的更新方式,详细参考 msapplication-badge。
<meta name="msapplication-badge" content="">
自定义网页快捷方式的更新方式、开始屏幕中图标等,注意需使用XML
文件设置,详细参考 msapplication-config。
<meta name="msapplication-config" content="http://www.xxx.com/config.xml">
是否在IE
中开启xp
的主题,其中yes
表示打开xp
的蓝色立体按钮系统显示样式。
<meta http-equiv="MSThemeCompatible" content="yes">
IE 6
中包含有Smart tag
开关,如下用户将看不到某些链接。
<meta name="MSSmartTagsPreventParsing" content="true">
针对手持设备优化,主要是部分不识别viewport
的浏览器,例如黑莓。
<meta name="HandheldFriendly" content="true">
布局菜单桌面选择,浏览器根据此属性的content
值与屏幕宽度对比,决定使用何种布局方式,详细参考 MobileOptimized。
<meta name="MobileOptimized" content="240">
og
是一种新的http
头部标记,此协议可以让网页成为富媒体对象,即网页内容可以被其它社会化网站引用,目前此协议被SNS
网站(Facebook
等)采用。
网页遵守此协议,SNS
可以有效从页面提取信息并呈现给用户,从而提高网站的传播效率。
og
主要标签属性包括title
(标题)、type
(类型,常用值包括article
、book
、movie
)、image
(缩略图地址)、url
(页面地址)、description
(页面描述)、site_name
(页面所在网站名)、videosrc
(视频或flash
地址)、audiosrc
(音频地址)。
<meta property="og:title" content="">
<meta property="og:description" content="">
移动端点击一个链接会产生一个弹出框,询问用户打开哪种应用。而App Links
让用户在点击一个普通链接时候可以打开指定app
的指定页面,若用户未安装则跳转到web
页面,或者直接跳转到app
的下载页面。
<meta property="al:ios:url" content="">
<meta property="al:ios:app_store_id" content="">
<meta property="al:ios:app_name" content="">
<meta property="al:android:url" content="">
<meta property="al:android:app_name" content="">
<meta property="al:android:package" content="">
<meta property="al:web:url" content="">
伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞或 Star ✨支持一下哦!
手动码字,如有错误,欢迎在评论区指正~
你的支持就是我更新的最大动力~
GitHub / Gitee、GitHub Pages、掘金、CSDN 同步更新,欢迎关注~