meta

meta中有这样几个常用属性:http-equiv,name,content,包括html5新增的charset。

注意:content属性用来存储meta信息的内容,所有的主流浏览器都支持它,但它一般很少单独使用,我们一般使用http-equiv或name来定义content属性信息(或值)的名称,http-equiv和name在一个meta中通常只能用其中一个。

现介绍常用的,再介绍一些其它的。

name常见的有:


application-name // 代表web应用程序的名字
author // 规定文档作者的名字
description // 对页面的描述,SEO需要用到
keywords // 页面的关键字词,多个用逗号隔开,SEO需要用到

编码格式


<meta charset="utf-8">

视窗宽度


<meta name="viewport" content="width=device-width, inital-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  • width:用于设置视窗口的宽度,可以设置为device-width(设备的宽度),也可以是自定义的值。
  • initial-scale:用于设置缩放比例,可以是任意数值的比例。
  • minimum-scale:用于设置最小缩放比例。
  • maximum-scale:用于设置最大缩放比例。
  • user-scalable:用于设置是否禁止用户缩放页面。

自动识别


<meta name="format-detection" content="telphone=no">
  • telphone:是否禁止浏览器识别页面中的电话号码。no:禁止,yes不禁止
  • eamil:是否就职浏览器识别页面中的邮件地址。no:禁止,yes不禁止

用http-equiv于模拟一个 HTTP 响应头

我们都知道,HTML4.0.1定义html文档的编码方式是如下面这样:


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

但是在HTML5中我们可以像下面这样定义:


<meta charset="utf-8">

那么它除了这样的使用场景外,还有别的一些吗。如果你强制刷新页面,可以驶入像下面这样的代码:


<meta http-equiv="refresh" content="3">

如上面的代码的意思是:强制浏览器每3秒刷新一次。但要慎用。

当然,还有一些其他的好用的效果,如果你想要给应用定义多套样式,然后根据用户选择来加载不同的样式,你可以将http-equiv设置为default-style,然后你设置content的值为link或style的对应值。具体可参考如下代码:


<meta http-equiv="default-style" content="s1">
<style title="s1">
body {
background: red;
}
</style>
<style title="s2">
body {
background: green;
}
</style>

以前,我不知道style或link中添加title有什么用,但上面的例子是它的一个用途。

针对苹果设备的设置


// 下面代码来自天猫移动web
<meta name="apple-mobile-web-app-capable" content="yes"/> // 可以让app运行于全屏模式
<meta name="apple-mobile-web-app-title" content="TMALL"/> // 可以让app的标题不同于页标题
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/> // 配置app的状态栏,可设置为default, black, 和 black-translucent。

状态栏设置,可参考Changing The iOS Status Bar Of Your Progressive Web App

当然,我们也可以设置书签或者快捷键的图标。可参考如下代码:


<link href="https://placehold.it/72"
sizes="72x72"
rel="apple-touch-icon-precomposed">

可以根据不同的型号设备,来设置不同的sizes。

也可以设置它的启动背景图。可参考如下代码:


<link href="https://placehold.it/1496x2048"
media="(device-width: 768px) and (device-height: 1024px)
and (-webkit-device-pixel-ratio: 2)
and (orientation: landscape)"
rel="apple-touch-startup-image">

当然,我们也可以设置其它的meta,用来控制不同浏览器的行为,也可以控制不同搜索引擎的行为。

其他meta的使用

可参考gethead meta模拟原生IOS效果

更多的前端相关资源,可关注我的github

原文地址:https://segmentfault.com/a/1190000017273150

我从HTML的meta中学到了什么的更多相关文章

  1. 常用 meta 整理

    <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 --> <meta name="HandheldFriendly" con ...

  2. 从史上八大MySQL事故中学到的经验

    本文列举了史上八大MySQL宕机事件原因.影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级). 一.Per ...

  3. meta标签

    参考:http://www.jb51.net/web/158860.html META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). 一.HTTP标题信息(HTT ...

  4. Django模型类Meta元数据详解

    转自:https://my.oschina.net/liuyuantao/blog/751337 简介 使用内部的class Meta 定义模型的元数据,例如: from django.db impo ...

  5. H5 meta小结

    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1, ...

  6. 做中学(Learning by Doing)之背单词-扇贝网推荐

    做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...

  7. Asp.net 后台添加CSS、JS、Meta标签

    Asp.net 后台添加CSS.JS.Meta标签的写法,我这里写成函数方便以后使用.如果函数放在页面类中, Page参数也可以不要. 首先导入命名空间 using System.Web.UI.Htm ...

  8. 较为完整的meta

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 浏览器内核控制Meta标签说明文档【转】

    背景介绍 由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览.基于IE的内核用于兼容网银.旧版网站.以360的几款浏览器为例,我们优先通过Webkit内核渲 ...

随机推荐

  1. 记录下sparkStream的做法(scala)

    一直用storm做实时流的开发,之前系统学过spark但是一直没做个模版出来用,国庆节有时间准备做个sparkStream的模板用来防止以后公司要用.(功能模拟华为日常需求,db入库hadoop环境) ...

  2. 同一服务器不同域名session共享

    Tomcat下,不同的二级域名之间或根域与子域之间,Session默认是不共享的,因为Cookie名称为JSESSIONID的Cookie根域是默认是没设置 的,访问不同的二级域名,其Cookie就重 ...

  3. Vue实例属性/方法/生命周期

    一 实例属性 var app = new Vue(); app.$el ===>返回当前挂在DOM对象. app.$data ===>返回当前实例data里面的数据 app.$option ...

  4. autoreleasing的用法介绍:

    在c/c++,objective-c内存管理中有一条是:谁分配谁释放. __autoreleasing则可以使对像延迟释放.比如你想传一个未初始化地对像引用到一个方法当中,在此方法中实始化此对像,那么 ...

  5. 原生JS实现动态时钟(优化)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. JS防抖动

    这道题目经常与事件触发器同时存在,为了考察面试者在一些具体业务流程上(信息流,搜索框输入查询)等,能否综合的考虑实现思路. 题目:在某些信息列表中一般采用瀑布流,滚动一屏时加载相应的数据,请思考如何避 ...

  7. SpringCloud微服务实战三:Hystix的基本概念

    1.说到隔离.熔断.降级,最出名的就是 Netflix 开源的 Hystrix 组件,Hystix官方对它描述为:Hystrix是一个延迟和容错库,旨在隔离远程系统.服务和第三方库,阻止级联故障,在复 ...

  8. GULP入门之API(二)

    GULP的API gulp.src(globs[, options]) 输出(Emits)符合所提供的匹配模式(glob)或者匹配模式的数组(array of globs)的文件. 将返回一个 Vin ...

  9. 警告: [SetPropertiesRule]{Context/Loader} Setting property 'useSystemClassLoaderAsParent' to 'false' did not find a matching property.

    警告: [SetPropertiesRule]{Context/Loader} Setting property 'useSystemClassLoaderAsParent' to 'false' d ...

  10. 啊啊我找不到web.xml怎么办呀~~

    创建Dymamic Web Project的时候不要忘记勾选这玩意(about servlet) 其实还有一个办法就是右键点击你的web项目名--->Java EE Tools-->Gen ...