【每日一题】说说你对HTML里的meta元素的理解
人生苦短,总需要一点仪式感。比如学前端~
目录:
元数据
meta 元素
meta 元素包含四大属性:
用途
name 指定名/值对定义的元数据
charset声明字符编码
http-equiv模拟 http 标头字段
常用的 meta 属性
元数据
元数据(metadata
):用来构建 HTML 文档的基本结构以及向浏览器提供“如何处理文档”的信息和指示,它们本身不是文档内容,但提供了关于后面文档内容的信息,如 title
、base
、meta
等都是元数据元素。
meta 元素
meta
元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频率的描述和关键词。
meta
元素可以定义文档的各种元数据,提供各种文档信息,通俗点就是可以理解为提供了关于网站的各种信息。html 文档中可以包含多个 meta 元素,每个 meta 元素只能用作一种用途,如果想定义多个文档信息,则需要在 head 标签中添加多个 meta 元素。
meta 元素包含四大属性:
charset
、content
、http-equiv
、name
charset:
该属性声明了页面的字符编码。
常用的值:UTF-8
(Unicode字符编码)、ISO-8859-1
(拉丁字母表的字符编码)。
content:
这个属性通常配合name
或http-equiv
使用,能够给这两个属性提供一个值。
http-equiv:
这个属性可以用做http
头部的某些作用,通过定义该属性可以改变服务器和用户代理的行为。
name:
用于定义页面的元数据。他不能与http-equiv
、charset
共存。通常是content
配合使用。
用途
meta
元素除了 charset 属性外,都是 http-equiv 属性或 name 属性结合 content 来使用。
name 指定名/值对定义的元数据
<meta name="参数" content="具体描述信息" />
name
属性与 content
属性结合使用。
name 用来表示元素数据类型,表示当前 meta 标签的具体作用;content 属性用来提供值。
示例代码:
<head>
<title>示例</title>
<meta
name="keywords"
content="描述网站内容的关键词,以逗号隔开,用于SEO搜索"
/>
<meta name="application name" content="当前页所属Web应用系统的名称" />
<meta name="description" content="当前页的说明" />
<meta name="author" content="当前页的作者名" />
<meta name="copyright" content="版权信息" />
<meta
name="renderer"
content="renderer是为双核浏览器准备的,用于指定双核浏览器默认以何种方式渲染页面"
/>
<meta
name="viewreport"
content="它提供有关视口初始大小的提示,仅供移动设备使用"
/>
</head>
charset声明字符编码
charset
属性作为 HTML5 新增的属性,用于声明字符编码,有两种写法:
<!-- HTML5 推荐方式 -->
<meta charset="utf-8" />
<!-- 旧的HTML -->
<meta http-equiv="content-Type" content="text/html;charset=utf-8" />
理论上,可以使用任何字符编码,但是并不是所有浏览器都能够理解它们。
http-equiv模拟 http 标头字段
http-equiv
属性与 content 属性结合使用,http-equiv 属性为指定所要模拟的标头字段的名称,content 属性用来提供值。
<meta http-equiv="参数" content="具体的描述" />
<!-- content-Type 声明网页字符编码 -->
<meta http-equiv="content-Type" content="text/html charset=UTF-8" />
<!-- refresh 指定一个时间间隔(以秒为单位),在此时间过去之后从服务器重新载入当前页面,也可以另外指定一个页面. -->
<!-- 2秒后在当前页跳转到百度 -->
<meta http-equiv="refresh" content="2;URL=http://www.baidu.com" />
<!-- X-UA-Compatible 浏览器采取何种版本渲染当前页面 -->
<!-- 指定IE和Chrome使用最新版本渲染当前页面 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- catch-control 用于指定所有缓存机制在整个请求/响应链中必须服从的指令 -->
<meta http-equiv="cache-control" content="no-cache" />
常用的 meta 属性
<!-- 声明文档使用的字符编码 -->
<meta charset='utf-8'>
<!-- 优先使用 IE 最新版本和 Chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<!-- 页面描述 -->
<meta name="description" content="不超过150个字符"/>
<!-- 页面关键词 -->
<meta name="keywords" content=""/>
<!-- 网页作者 -->
<meta name="author" content="name, email@gmail.com"/>
<!-- 搜索引擎抓取 -->
<meta name="robots" content="index,follow"/>
<!-- 为移动设备添加 viewport -->
<meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no">
<!-- `width=device-width` 会导致 iPhone 5 添加到主屏后以 WebApp 全屏模式打开页面时出现黑边 http://bigc.at/ios-webapp-viewport-meta.orz -->
<!-- iOS 设备 begin -->
<meta name="apple-mobile-web-app-title" content="标题">
<!-- 添加到主屏后的标题(iOS 6 新增) -->
<meta name="apple-mobile-web-app-capable" content="yes"/>
<!-- 是否启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单栏 -->
<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
<!-- 添加智能 App 广告条 Smart App Banner(iOS 6+ Safari) -->
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<!-- 设置苹果工具栏颜色 -->
<meta name="format-detection" content="telphone=no, email=no"/>
<!-- 忽略页面中的数字识别为电话,忽略email识别 -->
<!-- 启用360浏览器的极速模式(webkit) -->
<meta name="renderer" content="webkit">
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 不让百度转码 -->
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
<meta name="HandheldFriendly" content="true">
<!-- 微软的老式浏览器 -->
<meta name="MobileOptimized" content="320">
<!-- uc强制竖屏 -->
<meta name="screen-orientation" content="portrait">
<!-- QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait">
<!-- UC强制全屏 -->
<meta name="full-screen" content="yes">
<!-- QQ强制全屏 -->
<meta name="x5-fullscreen" content="true">
<!-- UC应用模式 -->
<meta name="browsermode" content="application">
<!-- QQ应用模式 -->
<meta name="x5-page-mode" content="app">
<!-- windows phone 点击无高光 -->
<meta name="msapplication-tap-highlight" content="no">
<!-- iOS 设备 end -->
<meta name="msapplication-TileColor" content="#000"/>
<!-- Windows 8 磁贴颜色 -->
<meta name="msapplication-TileImage" content="icon.png"/>
<!-- Windows 8 磁贴图标 -->
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml"/>
<!-- 添加 RSS 订阅 -->
<link rel="shortcut icon" type="image/ico" href="/favicon.ico"/>
<!-- 添加 favicon icon -->
<!-- sns 社交标签 begin -->
<!-- 参考微博API -->
<meta property="og:type" content="类型" />
<meta property="og:url" content="URL地址" />
<meta property="og:title" content="标题" />
<meta property="og:image" content="图片" />
<meta property="og:description" content="描述" />
<!-- sns 社交标签 end -->
所有《每日一题》的 知识大纲索引脑图 整理在此:
https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转
让我们一起携手同走前端路!
关注公众号回复【加群】即可