HTML <meta> 元素
今天在网上看到了别人的写的一个标准前端HTML模板,里面的一些<meta>
元素的设置让我感觉有些困惑。之前虽然也在HTML文件中使用<meta>
标签,但是使用最多的一直都是:
而这个模板中,可以看到使用了多个<meta>
:
其中一些<meta>
元素的用法我并不理解,所以在网上查找了一些关于<meta>
元素的文档和文章,学习了这个元素的相关用法。
<meta>元素概要
按照MDN HTML元素参考中关于<meta>的概述:
The HTML
<meta>
element represents any metadata information that cannot be represented by one of the other HTML meta-related elements (<base>
,<link>
,<script>
,<style>
or<title>
).
HTML Meta 元素 (<meta>
) 用来表达任何其他 HTML 元相关元素 (<base>
,<link>
,<script>
,<style>
或者<title>
) 等无法表达的信息。
<meta>
元素提供了页面的元信息,比如针对搜索引擎和更新频度的描述和关键词。这些元信息可以分为以下几种:
-
<name>
: 一个 document 级的元素数据将附着在整个页面上 -
<http-equiv>
: 网络服务器将会给出一个 pragma directive, 即指示页面应如何承载的指令信息 -
<charset>
: 对网页使用的字符集作出声明 -
<itemprop>
: 将定义一个用户自定义的元数据,也因此语义声明,这个定义将对用户代理完全开放
<meta>元素的属性
<meta>
元素支持所有的全局属性。
charset
此属性声明当前文档所使用的字符编码,但该声明可以被任何一个元素的 lang 特性的值覆盖。
content
此属性定义与 http-equiv 或 name 属性相关的元信息(gives the value assocaited with http-equiv or name attribute)。
http-equiv
This enumerated attribute defines the pragma that can alter servers and user-agents behavior. The value of the pragma is defined using the content.
http-equiv的可能值详见MDN HTML meta 元素概述。
name
这个属性定义的一个document-level的元数据的名称,这个元素的值通过content来定义。 name的一些可能的值有:
-
author, defining, in a free format, the name of the author of the document
-
description, containing a short and accurate summary of the content of the page. Several browsers, among them Firefox and Opera, use this meta as the default description of the page when bookmarked
-
generator, containing, in a free format, the identifier to the software that generated the page
-
keywords, containing, as strings separated by commas, relevant words associated with the content of the page
更多可能的值同样能够在 MDN HTML meta 元素概述中找到。
这里要特别说一下name的一个可能值:viewport。这一属性在进行响应式设计中有很大用处,具体可以阅读: Viewport Meta标签
示例
其他
还有一些meta元素可能不是标准的,只有当网页被特定的浏览器浏览才会发挥作用。例如上面的:
关于常用meta,别人已经有很好的总结了,具体可以看这篇博客: <meta> 元素