勤能补拙孰能生巧 2019-06-25
在写前端页面时,常常忽略meta标签的作业,只是习惯性的粘贴常用的一些代码,很多不明白meta还有其他很多用法,下面是我整理的一部分。
meta标签的组成:
meta标签原本有两个属性,它们分别是http-equiv属性和name属性,后h5发布了一个新属性charset;每个属性有不同的参数值,这些不同的参数值就实现了不同的网页功能;下面我们介绍一下属性;
charset 属性规定 HTML 文档的字符编码;html中必带属性;
<meta charset="UTF-8">
标注网页的开发人员;
举例:
<meta name="author"content="姓名,邮箱">
在移动端的布局中,css中的1px并不等于物理上的1px,现在手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,这就说明一个物理像素点实际上塞入了好几个像素。
所以在做移动端开发时,为了使移动端的页面在不同的手机上同样的大小来显示,我们可以将页面的宽度固定,然后获取设备的宽度,可以得到我们之前设定的宽度与设备宽度的比例,再使用HTML5新增的viewport来对页面进行缩放,并固定不允许用户再重新缩放。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0,user-scalable=0" />
参数的详解如下:
width 设置layout viewport 的宽度,为一个正整数,使用字符串”width-device”表示设备宽度
initial-scale 设置页面的初始缩放值,为一个数字,可以带小数
minimum-scale 允许用户的最小缩放值,为一个数字,可以带小数
maximum-scale 允许用户的最大缩放值,为一个数字,可以带小数
user-scalable 是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许
<meta name="COPYRIGHT" content="版权信息">
http-equiv属性
http-equiv可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,对应的属性值为content; meta标签的http-equiv属性语法格式是: ***<meta http-equiv="参数"content="参数变量值">*** http-equiv属性有以下几种参数:
Expires(期限)
用于设定网页的到期时间。时间到时网页自动过期,页面必须到服务器上重新传输。 ***<meta http-equiv="expires"content="Fri,12Jan200118:18:18GMT"> 注意:必须使用GMT的时间格式。***
Pragma(cache模式)
Pragma禁止浏览器从本地计算机的缓存中访问页面内容,每一次的加载页都是从网络服务器中加载;这样设定,访问者将无法脱机浏览,必须在联网的状态下浏览页面; ***<meta http-equiv="Pragma"content="no-cache">***
Refresh(设置自动刷新)
设置页面在等待多久时间后自动刷新页面或者指向新页面,跳转页面。 ***<meta http-equiv="Refresh"content="10;URL=http://www.haorooms.com"> //(注意后面的引号,分别在秒数的前面和网址的后面,此例子为10秒后跳转)***
Set-Cookie(cookie删除)
网页过期时,本地计算机中的cookie将自动被删除。 ***<meta http-equiv="Set-Cookie"content="cookie value=xxx;expires=Friday,12-Jan-200118:18:18GMT;path=/"> 注意:必须使用GMT的时间格式。***
Window-target(设置显示窗口的默认设定)
强制改变页面在当前窗口的显示方式为独立显示,可以用来防止别人在框架里调用自己的页面。 ***<meta http-equiv="Window-target"content="_top">***
<meta http-equiv="Content-Language"content="zh-cn"/>
meta其他
忽略数字自动识别为电话号码 <meta content="telephone=no" name="format-detection" /> 忽略识别邮箱 <meta content="email=no" name="format-detection" />
WebApp(全屏模式:伪装app,离线应用)。
***<meta name="apple-mobile-web-app-capable" content="yes" /><!-- 启用 WebApp 全屏模式 -->***
meta在移动端的用法
<!-- 针对手持设备优化,主要是针对一些老的不识别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">
HTML < base > 标签
为页面上所有默认链接:
例如:
***<base href="连接地址">*** <base> 标签为页面上的所有链接规定默认地址或默认目标
为页面上所有链接指定默认打开方式(和meta的Window-target有作用相似):
例如:
***<base target="_self">*** target指定页面中所有标签都是本页打开