meta标签

简介

metadata(元数据),是用于描述数据的数据。它不会显示在页面上,但是机器却可以识别。


作用

meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务(对于网页也来说,metadata就是通过一些字段信息来描述一下当前网页,以便浏览器和搜索引擎在访问到此网页的时候,可以通过这些描述信息来知道如何去解析此网页数据)。


位置

meta标签始终位于head元素内。


属性

一般meta标签中会指定一下一些属性:

  • name

  • http-equiv

  • content

  • charset


一 、charset属性

charset为HTML5中新增的,用来声明字符编码;

<meta charset="UTF-8">
二、 content属性

content属性和name、http-equiv属性配合使用,content属性用来提供属性的值。

三、name属性

name属性主要用于描述网页,比如网页的关键词,叙述等。与之对应的属性值为content,content中的内容是对name填入类型的具体描述,便于搜索引擎抓取。

<meta name="参数" content="具体的描述">
四、http-equiv属性**

http-equiv顾名思义,相当于http协议中文件头的作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

<meta http-equiv="参数" content="参数变量值">

pc端应用

  1. keywords(关键字)

说明: 用于告诉搜索引擎,你网页的关键字。

用法:

<meta name="keywords" content="Lxxyx,博客,文科生,前端">
  1. description(网站内容的描述)

说明: 用于告诉搜索引擎,你网站的主要内容。

用法:

<meta name="description" content="文科生,热爱前端与编程。目前大二,这是我的前端博客">
  1. robots(定义搜索引擎爬虫的索引方式)

说明: robots用来告诉爬虫哪些页面需要索引,哪些页面不需要索引。

  • content的参数有:

    • none : 搜索引擎将忽略此网页,等价于noindex,nofollow。
    • noindex : 搜索引擎不索引此网页。
    • nofollow: 搜索引擎不继续通过此网页的链接索引搜索其它的网页。
    • all(默认): 搜索引擎将索引此网页与继续通过此网页的链接索引,等价于index,follow。
    • index : 搜索引擎索引此网页。
    • follow : 搜索引擎继续通过此网页的链接索引搜索其它的网页。

用法:

<meta name="robots" content="none">
  1. author(作者)

说明: 用于标注网页作者。

用法:

<meta name="author" content="Lxxyx,841380530@qq.com">
  1. generator(网页制作软件)

说明: 用于标明网页是什么软件做的:

用法:

<meta name="generator" content="Sublime Text3">
  1. copyright(版权)

说明: 用于标注版权信息举例:

用法:

<meta name="copyright" content="Lxxyx">
  1. revisit-after(搜索引擎爬虫重访时间)

说明: 如果页面不是经常更新,为了减轻搜索引擎爬虫对服务器带来的压力,可以设置一个爬虫的重访时间。如果重访时间过短,爬虫将按它们定义的默认时间来访问。
用法:

<meta name="revisit-after" content="7 days" >
  1. renderer(双核浏览器渲染方式)

说明: renderer是为双核浏览器准备的,用于指定双核浏览器默认以何种方式渲染页面。比如说360浏览器。

用法:

<meta name="renderer" content="webkit"> //默认webkit内核
<meta name="renderer" content="ie-comp"> //默认IE兼容模式
<meta name="renderer" content="ie-stand"> //默认IE标准模式

移动端的应用

  1. viewport(移动端的窗口)

介绍: 移动设备上的viewport是设备屏幕上用来显示网页的那部分区域,再具体一点就是浏览器上用来显示网页的那部分区域,但viewport又不局限于浏览器可视区域的大小,它可能比浏览器的可视区域大,也可能比浏览器的可视区域小。在默认情况下,移动设备上的viewport都是大于浏览器可视区域的,这是因为移动设备的分辨率相对于PC来说都比较小,所以为了能在移动设备上正常显示那些为PC浏览器设计的网站,移动设备上的浏览器都会把自己默认的viewport设为980px或1024px(也可能是其它值,由设备本身决定),但后果是浏览器出现横向滚动条,因为浏览器可视区域的宽度比默认的viewport的宽度小。

三个viewport:

(1)layout viewport

如果把移动设备上浏览器的可视区域设为viewport的话,某些网站会因为viewport太窄而显示错乱,所以这些浏览器就默认会把viewport设为一个较宽的值,比如980px,使得即使是那些为PC浏览器设计的网站也能在移动设备浏览器上正常显示。这个浏览器默认的viewport叫做 layout viewport。layout viewport的宽度可以通过 document.documentElement.clientWidth来获取。

img

(2)visual viewport

layout viewport的宽度是大于浏览器可视区域的宽度的,所以还需要一个viewport来代表浏览器可视区域的大小,这个viewport叫做 visual viewport。visual viewport的宽度可以通过 document.documentElement.innerWidth来获取。

img

(3)ideal viewport

ideal viewport是一个能完美适配移动设备的viewport。首先,不需要缩放和横向滚动条就能正常查看网站的所有内容;其次,显示的文字、图片大小合适,如14px的文字不会因为在一个高密度像素的屏幕里显示得太小而无法看清,无论是在何种密度屏幕,何种分辨率下,显示出来的大小都差不多。这个viewport叫做 ideal viewport。

ideal viewport并没有一个固定的尺寸,不同的设备有不同的ideal viewport。例如,所有的iphone的ideal viewport宽度都是320px,无论它的屏幕宽度是320还是640。

ideal viewport 的意义在于,无论在何种分辨率的屏幕下,针对ideal viewport 而设计的网站,不需要缩放和横向滚动条都可以完美地呈现给用户。

说明:这个属性常用于设计移动端网页,让网页适配手机窗口,自适应页面离不开这个属性。

利用meta标签对viewport进行控制:

移动设备默认的viewport是layout viewport,但在进行移动设备网站的开发时,需要的是ideal viewport。要得到ideal viewport,需要用到meta标签。

  • width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素)
  • height:高度(数值 / device-height)(范围从223 到10,000)
  • initial-scale:页面的初始缩放值(范围从0 到10)
  • minimum-scale:允许用户的最小缩放值(范围0.25至10.0之间)
  • maximum-scale:允许用户的最大缩放值(范围0.25至10.0之间)
  • user-scalable:是否允许用户进行缩放,no 不允许,yes允许

用法:

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

该meta标签的作用是让当前viewport的宽度等于设备的宽度,同时不允许用户手动缩放。当然maximum-scale=1.0, user-scalable=no不是必需的,是否允许用户手动播放根据网站的需求来定,但把width设为width-device基本是必须的,这样能保证不会出现横向滚动条。
     width能控制layout viewport的宽度,如果不指定该属性,layout viewport将默认为980px或1024px(也可能是其它值,由设备本身决定),如果把layout viewport的宽度设置为移动设备的宽度,那么layout viewport将成为ideal viewport。

其实,要把当前的viewport宽度设为ideal viewport的宽度,既可以设置width=device-width,也可以设置initial-scale=1,但有一个小缺陷,就是width=device-width会导致iphone、ipad横竖屏不分,initial-scale=1会导致IE横竖屏不分,都以竖屏的ideal viewport宽度为准。所以,最完美的写法两者都写上去, initial-scale=1 解决 iphone、ipad的缺陷,width=device-width解决IE的缺陷。

如果不是响应式网站,不要使用initial-scale或者禁用缩放,注意,很多人使用initial-scale=1到非响应式网站上,这会让网站以100%宽度渲染,用户需要手动移动页面或者缩放。如果和initial-scale=1同时使用user-scalable=no或maximum-scale=1,则用户将不能放大/缩小网页来看到全部的内容。

  1. format-detection

说明: 我们可以通过这个属性禁止自动识别电话和邮箱。

用法:

<meta name="format-detection" content="telephone=no,email=no"/>
  1. apple-mobile-web-app-capable(网站开启对web app程序的支持)

说明: apple-mobile-web-app-capable的作用就是删除默认的苹果工具栏和菜单栏。content有两个值”yes”和”no”,当我们需要显示工具栏和菜单栏时,这个行meta就不用加了,默认就是显示。
用法:

<meta name="app-mobile-web-app-capable" content="yes"/>
  1. apple-mobile-web-app-status-bar-style(改变顶部状态条的颜色)

说明: 在web app应用下状态条的颜色为黑色,默认值为default(白色),可以定义为black(黑色)和black-translucent(灰色半透明);

用法:

<meta name="apple-mobile-web-app-status-bar-style" content="black"/>

网络传输应用

  1. content-Type(设定网页字符集)(推荐使用HTML5的方式)

说明: 用于设定网页字符集,便于浏览器解析与渲染页面。

用法:

<meta http-equiv="content-Type" content="text/html;charset=utf-8">  //旧的HTML,不推荐
<meta charset="utf-8"> //HTML5设定网页字符集的方式,推荐使用UTF-8
  1. X-UA-Compatible(浏览器采取何种版本渲染当前页面)

说明: 用于告知浏览器以何种版本来渲染页面。(一般都设置为最新模式,在各大框架中这个设置也很常见。)

用法:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染当前页面
  1. cache-control(指定请求和响应遵循的缓存机制)

用法1.

说明: 指导浏览器如何缓存某个响应以及缓存多长时间。

用法:

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

content属性的值:

  • no-cache: 先发送请求,与服务器确认该资源是否被更改,如果未被更改,则使用缓存。
  • no-store: 不允许缓存,每次都要去服务器上,下载完整的响应。(安全措施)
  • public : 缓存所有响应,但并非必须。因为max-age也可以做到相同效果
  • private : 只为单个用户缓存,因此不允许任何中继进行缓存。(比如说CDN就不允许缓存private的响应)
  • maxage : 表示当前请求开始,该响应在多久内能被缓存和重用,而不去服务器重新请求。例如:max-age=60表示响应可以再缓存和重用 60 秒。

用法2.(禁止百度自动转码)

说明: 用于禁止当前页面在移动端浏览时,被百度自动转码。虽然百度的本意是好的,但是转码效果很多时候却不尽人意。所以可以在head中加入如下代码,就可以避免百度自动转码了。

用法:

<meta http-equiv="Cache-Control" content="no-siteapp" />
  1. expires(网页到期时间)

说明: 用于设定网页的到期时间,过期后网页必须到服务器上重新传输。必须使用GMT的时间格式。

用法:

<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
  1. refresh(自动刷新并指向某页面)

说明: 网页将在设定的时间内,自动刷新并调向设定的网址。
用法:

<meta http-equiv="refresh" content="2;URL=http://www.lxxyx.win/"> //意思是2秒后跳转向我的博客
  1. Set-Cookie(cookie设定)

说明: 如果网页过期。那么这个网页存在本地的cookies也会被自动删除。
用法:

<meta http-equiv="Set-Cookie" content="name, date"> //格式
<meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT"> //具体范例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值