CSS入门2-认识html之meta标签详解

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)
(注2:更多内容请查看我的目录。)

上篇我们主要认识了头部内容的标签,但是还留了一个小尾巴,那就是meta标签。在文章中我给出了一篇文章Http meta详解供大家学习参考,该篇作者所述的内容已经非常详尽了,但是我们还是要用自己的方式去理解一遍。

1. 简介

理解一样东西,首先在于理解其存在的意义,或者说这个东西的出现是为了解决什么问题。那么meta到底为我们的网页带来了什么作用呢?大家试想一下,我们写了一个网页丢在网上,是希望别人来访问的。我们把写好的代码放在服务器,需要通过浏览器的处理变成网页。而网络上的网页多如繁星,需要吸引用户搜索,点击这个链接,然后才能最终呈现在用户面前。这里有两个关键点:

  1. 浏览器会如何显示网页的内容
  2. 用户为何会点击你的网页

meta的出现就是为了解决这两个问题。那么,它是如何解决这两个问题呢?

2. http-equiv

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

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

当浏览器等设备接收服务器端传送的文件时,首先会接收文件的相关名称/值对,通常为多个。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。

其中http-equiv属性主要有以下几种参数:

2.1 content-Type(定义mime类型,显示字符集)

作用 content-type用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,此属性的值可以查看MIME类型。但是其最重要的MIME类型是text/html,并用来设置字符集。

用法:

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

示例:

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

设置字符集时,可以简写:

<meta charset="utf-8">

XXX取值:

  • gb2312(或gbk)时,代表说明网站是采用的编码是简体中文
  • big5时,代表说明网站是采用的编码是繁体中文
  • iso-2022-jp时,代表说明网站是采用的编码是日文
  • ks_c_5601时,代表说明网站是采用的编码是韩文
  • iso-8859-1时,代表说明网站是采用的编码是英文
  • utf-8时,代表世界通用的语言编码(最常用)

2.2content-language(显示语言设置)

作用:设定页面的语言以及国家代码(HTML文档的语言可通过在html标签的lang属性、xml:lang属性或meta标签的content-language中声明。明确网页使用的语言,有助于浏览器与搜索引擎进行相应的解析与索引。

用法:

<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为语言代码设置,subcode为国家代码

primarycode常用取值:

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

另外,关于charset和content-type的区别,大家可以参考这篇文章:html中charset和content-language的区别

2.3 refresh(刷新与重定向)

作用:用于刷新与重定向页面。

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

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

5秒之后跳转到我的简书主页:

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

2.4 expires(过期时间-控制缓存)

作用:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。时间必须使用GMT格式。

用法示例:

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

2.5 pragma(cache模式)

作用:禁止浏览器从本地计算机读取缓存
用法:

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

注意:这样设定,访问者将无法脱机浏览。

2.6 cache-control(缓存设定)

作用:HTTP1.1中启用Cache-Control 来控制页面的缓存与否

用法:

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

XXX取值如下;

  • max-age=[秒] — 执行缓存被认为是最新的最长时间。类似于过期时间,这个参数是基于请求时间的相对时间间隔,而不是绝对过期时间,[秒]是一个数字,单位是秒:从请求时间 开始到过期时间之间的秒数。
  • s-maxage=[秒] — 类似于max-age属性,除了他应用于共享(如:代理服务器)缓存。
  • public — 标记认证内容也可以被缓存,一般来说: 经过HTTP认证才能访问的内容,输出是自动不可以缓存的。
  • no-cache — 强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验。这对于需要确认认证应用很有用(可以和public结合使用),或者严格要求使用最新数据的应用(不惜牺牲使用缓存的所有好处)。
  • no-store — 强制缓存在任何情况下都不要保留任何副本。
  • must-revalidate — 告诉缓存必须遵循所有你给予副本的新鲜度,HTTP允许缓存在某些特定情况下返回过期数据,指定了这个属性,你可以高速缓存,表明你希望严格的遵循你的规则。
  • proxy-revalidate — 和 must-revalidate类似,除了他只对缓存代理服务器起作用。

(ps:可以看到expires,pragma和cache-control都对缓存起作用,那么他们有什么区别,不同的参数在不同的浏览器表现形式如何呢。这一块我们今后会在HTTP系列具体说明。)

2.7 set-cookie(cookie设定)

作用:如果网页过期,那么存盘的cookie将被删除。

用法:

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

注意:必须使用GMT的时间格式。

2.8 window-target(显示窗口的设定)

作用:强制页面在当前窗口以独立页面显示,用来防止别人在框架里调用自己的页面。

用法:

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

2.9 X-UA-Compatible(IE8专用标记-兼容)

作用:IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式,以此来解决部分兼容问题。
用法示例:

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

以上代码告诉IE浏览器,无论是否用DTD声明文档标准,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使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame。

PS:谷歌添加一个插件:Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个插件可以让用户的IE浏览器外观不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。

3. name

name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

meta标签的name属性语法格式是:

<meta name="参数" content="具体的参数值">;

name主要有以下几种参数:

3.1 author(定义网页作者)

作用:定义网页作者

用法示例:

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

网页作者是yourName

3.2 keywords(定义关键词)

作用:定义页面关键词,用于被搜索引擎收录。

用法示例:

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

3.3 descption(网页描述)

作用:用来告诉搜索引擎你的网站主要内容。

用法示例:

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

网站内容描述(description)的设计要点:

①网页描述为自然语言而不是罗列关键词(与keywords设计正好相反);

②尽可能准确地描述网页的核心内容,通常为网页内容的摘要信息,也就是希望搜索引擎在检索结果中展示的摘要信息;

③网页描述中含有有效关键词;

④网页描述内容与网页标题内容有高度相关性;

⑤网页描述内容与网页主体内容有高度相关性;

⑥网页描述的文字不必太多,一般不超过搜索引擎检索结果摘要信息的最多字数(通常在100中文字之内,不同搜索引擎略有差异)。

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

作用:用于定义网页搜索引擎索引方式。告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

用法:

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

XXX取值说明(默认是all):

  • none
    搜索引擎将忽略此网页,等价于noindex,nofollow。
  • noindex
    搜索引擎不索引此网页。
  • nofollow
    搜索引擎不继续通过此网页的链接索引搜索其它的网页。
  • all
    搜索引擎将索引此网页与继续通过此网页的链接索引,等价于index,follow。
  • index
    搜索引擎索引此网页。
  • follow
    搜索引擎继续通过此网页的链接索引搜索其它的网页。
  • noarchive
    禁止搜索引擎建立网页快照。

特殊用法示例:

  1. 针对谷歌GOOGLEBOT使用robots
    可以将name的属性只定义为GOOGLEBOT标识为谷歌搜索引擎。
<meta name="googlebot" content="noindex, nofollow" />
  1. 针对百度baiduspider使用robots
    可以将name的属性只定义为baiduspider标识为百度搜索引擎。
<meta name="baiduspider" content="noarchive" />

3.5 copyright(网页版权)

作用:定义网页的版权

用法示例:

<meta name="copyright" content="本页版权XXX所有。All Rights Reserved" />

3.6 data(定义网页生成时间)

作用:定义网页生成时间

用法示例:

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

3.7 revisied(定义网页文档修改时间)

作用:定义网页文档修改时间

用法示例:

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

3.8 renderer(渲染方式)

作用:指定双核浏览器默认以何种方式渲染页面。

用法示例:

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

PS:360浏览器支持

3.9 generator(网页制作软件)

用法示例:

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

3.10 viewport(用户网页的可视区域)

作用:设置用户网页的可视区域
(ps:viewport展开来讲又是一个很大的话题,首先需要我们对像素,分辨率等内容有所了解。这一块我会专门放在单位和响应式布局的章节中来讲解。现在我们先简单看一下,content的可选项)

  • width:viewport 的宽度
  • height:viewport的高度 (很少使用)
  • initial-scale:设置页面的初始缩放值
  • minimum-scale:允许用户的最小缩放值
  • maximum-scale:允许用户的最大缩放值
  • user-scalable:是否允许用户进行缩放
  • target-densitydpi(android才生效):设备的密度等级

常用移动端设置方法如下:

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

这段代码的意思是,让viewport的宽度等于物理设备上的真实分辨率,不允许用户缩放。一般主流的web app都是这么设置的,它的作用其实是故意舍弃viewport,不缩放页面,这样dpi肯定和设备上的真实分辨率是一样的,不做任何缩放,网页会因此显得更高细腻。

参考

W3school-HTML <meta> 标签
百度百科-meta
Http meta详解
html中charset和content-language的区别
HTML meta content-language 定义页面语言
语言名称代码表
国家名称代码表
梦之都-HTML meta 标签
页面的缓存设置与meta的作用详细解释
Http头介绍:Expires,Cache-Control,Last-Modified,ETag
百度百科-Cache-control
响应式 Web 设计 - Viewport
说说移动前端中 viewport (视口)
HTML meta viewport属性说明(mark)
viewport就是这回事

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • meta   元素可提供相关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关...
    hx永恒之恋阅读 635评论 0 2
  • HTML基础 本文包括 HTML基本知识与结构 HTML常见标签 标签写法与嵌套的讨论 HTML、CSS、java...
    廖少少阅读 2,033评论 2 21
  • 1. meta标签的组成 meta标签共有两个属性,它们分别是http-equiv属性和name属性 1. nam...
    Maggie_77阅读 470评论 1 1
  • meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给...
    才気莮孒阅读 963评论 0 2
  • 头疼我们很久的李京芮晚睡问题,终于有了很大改善,这很大程度上得益于她幼儿园的班主任陆老师,严管厚爱,这需要勇气,既...
    蒹葭苍苍子衿悠悠阅读 286评论 0 0