概要
<meta>元素提供关于HTML文档的元数据 (metadata)信息 ,元数据是描述数据的数据,它不会显示在页面上,但却可以被机器识别。
<meta>常用于来定义页面的说明、关键字、最后修改日期和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面)、搜索引擎和其它网络服务。
meta元素为空元素,在HTML文件中没有终止标签。
父元素
<head>元素是<meta>元素的父元素,<meta>元素只能包含在<head>中
属性
1. 全局属性
2. charset属性
此属性声明当前文档所使用的字符编码,但该声明可以被任何一个元素的 lang 特性的值覆盖。
常用的值:
UTF-8 - Unicode 字符编码
ISO-8859-1 - 拉丁字母表的字符编码
<meta charset="utf-8">
3. name属性
name 属性主要用来表示元数据的类型,描述网页,比如网页的关键词,叙述等。与之对应的属性值为content,content中的内容是对name填入类型的具体描述,便于搜索引擎抓取。meta标签中name属性语法格式是:
<meta name="参数" content="具体的描述">
name属性共有以下几种参数:
application-name : 定义正运行在该网页上的网络应用名称;如果HTML页面是一个Web应用,则可以用name值为application-name的meta元素来定义该Web应用的名称。在使用application-name时,可通过同时定义meta元素的lang值来设定不同自然语言情况下该Web应用的名称,从而实现Web应用名称的本地化。不过在同一个HTML文档中,不允许出现两个application-name其所属的meta元素lang值相同的情况 -- 同一种语言的情况下,Web应用的名称只能有一个。对于通过application-name所定义的Web应用的名称,浏览器可以将其作为窗口顶部的名称信息加以展示(也即,其优先级高于head标签中的title元素)。
<meta name="application-name" content="BBC">
author:这个文档的作者名称,可以用自由的格式去定义;
<meta name="author" content="author name"> <!-- 定义网页作者 -->
description:name值为description的meta元素可用于定义当前文档的具体描述信息,这种meta元素在同一个HTML文档中最多只能出现一个。在Web的早期历史中,搜索引擎会根据这个description信息来处理HTML文档;但由于之后SEO对此属性的滥用,导致如今搜索引擎对此meta信息的参考权重已经大为降低。
<meta name="description" content="这是我的前端技术博客">
keywords:name值为keywords的meta元素可接受以逗号分隔的多个关键词作为content,用于描述当前文档的关键词信息。与description一样,由于SEO滥用,如今的搜索引擎在处理HTML文档的时候已经不考虑keywords信息了。
<meta name="Keywords" content="前端,HTML">
generator: 对于由Dreamweaver等网页制作软件所制作的HTML文档,name值为generator的meta元素可用于记录该网页制作软件的信息。
viewport:这个属性是由Apple引入,之后被其他人所采用和继续开发,常用于设计移动端网页,这个标记用于指定用户是否可以缩放Web页面,如果可以,那么缩放到的最大和最小缩放比例是什么。常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:
<meta name="viewport" content="width=device=width, initial-scale=1">
renderer:双核浏览器渲染方式,renderer是为双核浏览器准备的,用于指定双核浏览器默认以何种方式渲染页面。比如说360浏览器。
<meta name="renderer" content="webkit"> <!--默认webkit内核-->
4. content
这个属性为 http-equiv 或 name 属性提供了与其相关的值的定义.
5. http-equiv属性
equiv的全称是"equivalent" 相当于的意思,类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容,实际取值由content决定。
(1) Content-Type和Content-Language (显示字符集的设定)
设定页面使用的字符集,用以说明主页制作所使用的文字已经语言,浏览器会根据此来调用相应的字符集显示page内容。
<meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">
注意:这个功能就是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示该页面的。如果将其中的“charset=GB2312”替换成“BIG5”,则该页面所用的字符集就是繁体中文Big5码。如果系统里没有装相应的字符集,则IE就提示下载。其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。Content-Language用于较老的浏览器,新式浏览器中一般用Content-Type。
* Content-Type的Content还可以是:text/xml等文档类型。
* Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、 gb2312、gb_2312-80、 x- euc-tw、x-cns11643-1、x-cns11643-2等字符集。
* Content-Language的Content还可以是:EN、FR等语言代码。
(2)Refresh (刷新/自动跳转)
让网页多长时间(秒)刷新自己,或者在多长时间后让网页自动链接(跳转)到其它网页。
<meta http-equiv="Refresh" content="表示时间的数值">
表示让网页每隔多少秒钟自动刷新一次,content值为数字,单位是秒。如表示5秒钟自动刷新一次。
(3)Set-Cookie (cookie设定)
设置一个cookie值。必须使用GMT的时间格式,如果网页过期,那么存盘的cookie将被删除。cookie是由一个网站(亦即管理网址的服务器)置于网络用户硬盘上的档案或部分档案,让网络服务器把用户数据储存于用户自己的机器,每当用户回到该网站,即可存取数据。cookie程序被用来储存注册数据,能为参观者把数据建构到网站上,追查用户曾经访视的网站,为广告指引目标,追踪或提供用户想要上网订购的产品的信息.
<meta http-equiv="Set-Cookie" content="cookievalue=cookie值; expire=过期时间 path=应用路径“>
(4)Content-Security-Policy(CSP)
CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。
(5)default-style
规定要使用的预定义的样式表
6.scheme属性
scheme属性允许作者向用户提供更多的线索用以解释meta信息。例如content值为8-4-2008,对美国英语而言,代表着8月4日,对欧洲语言而言代表4月8日。此时scheme属性定义“Month-Day-Year”属性值来消除歧义。又如下面的代码中,scheme声明让用户代理判断出“identifier”的值是ISBN号码。
<meta scheme="ISBN" name="identifier" content="0-8230-2355-9">
<meta>标签的自定义属性实在太多了,今天就先总结这么多吧!