HTML元标签简介

1. 是什么?

所谓元信息,是指描述自身的信息。元信息类标签,就是 HTML 用于描述文档自身的一类标签。通常出现在 head 标签中,一般来说都不会被页面显示出来。(与此相对应的是,其他的标签,比如语义类标签,描述的是业务)。

元信息多数情况下是给浏览器、搜索引擎来阅读的,而不是给我们人类阅读的(大多数时候)。有时候这些信息会在页面之外显示,有时候不会。

2. 元信息标签概述

  • head 标签

    head 标签是不携带任何的信息的,主要是用来盛放其他语义类标签的容器。

    head 标签规定了自身必须是 html 标签的第一个标签,它里面必须包含一个 title,并且最多只能包含一个 base,如果文档作为 iframe,或者有其他方式指定了文档的标题的时候,可以允许不包含 title。

  • title 标签

    title 表示文档的标题。

    对比文档正文的标题标签:h1 - h6

    heading title 英文单词语义很奇妙,差不多。但是我们在使用的时候具有很大的差别。

    我们试着把以下的文字对比到title 和 h1

    • 蜜蜂求偶仪式舞蹈

      在没看答案的时候,我认为这里的答案为 title

    • 舞蹈

      在没看答案的时候,我认为这里的答案为 h1

    果然,看了答案,我是对的。

    title 作为元信息,可能会被用在浏览器收藏夹、微信推送卡片、微博等应用场景,这个时候往往是上下文缺失的。所以 title 应该包含完整的网页内容。

    h1 则用来展示页面,它可以有默认的上下文,并且有链接的辅助。

  • base 标签

    base 标签实际上基本都不用,它是一个历史遗留的标签,作用是给页面上的相对 URL 提供一个 base url。

    实际开发中,都是使用 javascript 来代替 base 标签。

  • meta 标签

    meta 标签值得说一说。

    meta 标签是一组 kv 对,它通常是一种元信息表示标签。

    在 head 中可以出现任意多个 meta 标签。一般的 meta标签由 name 和 content 两个属性来定义。name 表示元信息的名字,content 则表示元信息的值。

    eg:

  • 1<meta name=application-name content="IsForums">

    这个 eg 里的 meta 意味着,这个标签所在页面的 application 名称为 IsForums。

    这里的 name是自由的,HTTP 标准制定了一些标准的 name,也鼓励大家自己搞一些 meta name 来使用。所以这个写的好,搜索引擎友好???

    • 具有 charset 属性的 meta

      charset 型 meta 标签非常关键,它描述了 HTML 文档自身的编码形式。建议这个标签放在 head 的第一个。

      一般情况下,HTTP 服务端会通过 http 头来指定正确的编码方式,但是有些特殊的情况如使用 file 协议打开一个 HTML 文件,则没有 http 头,这种时候,charset meta 就非常重要了。

    • 具有 http-equiv 属性的 meta

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

    具有 http-equiv 属性的 meta 标签,表示执行一个命令,这样的 meta 标签可以不需要 name 属性了。

    除了这个 content-type,下面还有一些命令。

content-language 指定内容的语言;
default-style 指定默认样式表;
refresh 刷新;
set-cookie 模拟 http 头 set-cookie,设置 cookie;
x-ua-compatible 模拟 http 头 x-ua-compatible,声明 ua 兼容性;
content-security-policy 模拟 http 头 content-security-policy,声明内容安全策略。

name 为 viewport 的 meta

    实际上,meta 标签可以被自由定义,只要写入和读取的双方约定好 name 和 content 的格式就可以了。

    我们来介绍一个 meta 类型,它没有在 HTML 标准中定义,却是移动端开发的事实标准:它就是 name 为 viewport 的 meta。

    这类 meta 的 name 属性为 viewport,它的 content 是一个复杂结构,是用逗号分隔的键值对,键值对的格式是 key=value。

    eg:
  • 1 <meta name="viewport" content="width=500, initial-scale=1">

     这里只指定了两个属性,宽度和缩放,实际上 viewport 能控制的更多,它能表示的全部属性如下:
    

width:页面宽度,可以取值具体的数字,也可以是 device-width,表示跟设备宽度相等。
height:页面高度,可以取值具体的数字,也可以是 device-height,表示跟设备高度相等。
initial-scale:初始缩放比例。
minimum-scale:最小缩放比例。
maximum-scale:最大缩放比例。
user-scalable:是否允许用户缩放。

对于已经做好了移动端适配的网页,应该把用户缩放功能禁止掉,宽度设为设备宽度,一个标准的 meta 如下:

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

其他预定义的 meta

application-name:如果页面是 Web application,用这个标签表示应用名称。

author: 页面作者。
description:页面描述,这个属性可能被用于搜索引擎或者其它场合。
generator: 生成页面所使用的工具,主要用于可视化编辑器,如果是手写 HTML 的网页,不需要加这个 meta。
keywords: 页面关键字,对于 SEO 场景非常关键。
referrer: 跳转策略,是一种安全考量。
theme-color: 页面风格颜色,实际并不会影响页面,但是浏览器可能据此调整页面之外的 UI(如窗口边框或者 tab 的颜色)。

还有一些可能有用的 meta


        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <!-- 默认使用最新浏览器 -->
        <meta http-equiv="Cache-Control" content="no-siteapp">
        <!-- 不被网页(加速)转码 -->
        <meta name="robots" content="index,follow">
        <!-- 搜索引擎抓取 -->
        <meta name="renderer" content="webkit">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <!-- 删除苹果默认的工具栏和菜单栏 -->
        <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
        <!-- 设置苹果工具栏颜色 -->

还有网友分享了 Open Graph 的标签组、Twitter 的标签组、msapplication 的标签组。用的不多,不详述了。
本文作者:林来
本文链接:https://www.cnblogs.com/ssaylo/p/13266350.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

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

推荐阅读更多精彩内容