· 589 words · 3 min
元信息,是指描述自身的信息。元信息类标签,就是 HTML 用于描述文档自身的一类标签。
通常出现在 <head></head> 标签中,一般都不会在页面被显示出来。
head 标签本身并不携带任何信息,主要作为其它语义类标签的容器使用。
title 作为元信息,可能会被用在浏览器收藏夹、微信推送卡片、微博等各种场景,上下文往往是缺失的,
因此 title 标签内容需要能够完整地概括整个网页内容。
meta 标签是一组键值对,是一种通用的元信息表示标签。在 head 中可以出现任意多个 meta 标签。
一般的 meta 标签由 name 和 content 两个属性来定义。name 表示元信息的名,content 则用于表示元信息的值:
<meta name='application-name' content='notion'>
charset 型 meta 标签非常关键,它描述了 HTML 文档自身的编码形式,这个标签放要在 head 的第一个:
<html>
<head>
<meta charset='UTF-8'>
...
具有 http-equiv 属性的 meta 标签表示执行一个命令。如添加 content-type 头:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
除了 content-type,还有以下几种命令:
content-language: 指定内容的语言。default-style: 指定默认样式表。refresh: 刷新。set-cookie: 设置 cookie。x-ua-compatible: 声明 ua 兼容性。content-security-policy: 声明内容安全策略。还有一种没有在标准中定义,却是在移动端的标准:viewport。viewport meta 的 content 是一个复杂结构,用逗号分隔的键值对:
<meta name="viewport" content="width=500, initial-scale=1">
viewport 能控制的其他属性如下:
width:页面宽度。数字或 device-width。height:页面高度。数字或 device-height。initial-scale:初始缩放比例。minimum-scale:最小缩放比例。maximum-scale:最大缩放比例。user-scalable:是否允许用户缩放。一个标准的 viewport meta 如下:
<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: 生成页面所使用的工具,主要用于可视化编辑器,手写的网页不需要加。keywords: 页面关键字,对于 SEO 场景非常关键。referrer: 跳转策略。theme-color: 页面风格颜色,实际并不会影响页面,但是浏览器可能据此调整页面之外的 UI(如窗口边框或者 tab 的颜色)。