html5之meta标签viewport应用
在html5移动页面中,viewport定义必不可少。
首先了解下关于viewport的概念:
先了解移动设备的屏幕尺寸和设备尺寸:
iPhone3 设备尺寸 320*480 ; 屏幕尺寸 320*480
iPhone4 设备尺寸 320*480 ; 屏幕尺寸 640*960
iPhone5 设备尺寸 320*568 ; 屏幕尺寸 640*1136
从iPhone3到iPhone4,设备尺寸没变的情况下,屏幕尺寸放大了一倍;viewport也应运而生,即屏幕尺寸。
示例:
- <meta name="viewport" content="..." />
关于 viewport 参数定义:
- <meta name=”viewport”
- content=”
- height = [pixel_value | device-height] ,
- width = [pixel_value | device-width ] ,
- initial-scale = float_value ,
- minimum-scale = float_value ,
- maximum-scale = float_value ,
- user-scalable = [yes | no] ,
- target-densitydpi = [dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi]
- />
width、height 可以定义值,或者 device-width | device-height 设备的宽高
initial-scale 初始缩放比例,即页面第一次 load 的时候缩放比例。这是一个浮点值,是页面大小的一个乘数。例如,如果你设置初始缩放为“1.0”,那么,web页面在展现的时候就会以target density分辨率的1:1来展现。如果你设置为“2.0”,那么这个页面就会放大为2倍。
maximum-scale:
允许用户缩放到的最大比例。这也是一个浮点值,用以指出页面大小与屏幕大小相比的最大乘数。例如,如果你将这个值设置为“2.0”,那么这个页面与target size相比,最多能放大2倍。
minimum-scale:
允许用户缩放到的最小比例。
user-scalable:
用户是否可以手动缩放,如果设置为yes则是允许用户对其进行改变,反之为no。默认值是yes。
所有的缩放值都必须在0.01–10的范围之内。
例:
1.设置屏幕宽度为设备宽度,禁止用户手动调整缩放;
2.设置屏幕密度为高频,中频,低频自动缩放,禁止用户手动调整缩放。
maximum-scale都将被忽略,因为根本不可能缩放。
target-densitydpi:
一个屏幕像素密度是由屏幕分辨率决定的,通常定义为每英寸点的数量(dpi)。Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度。一个低像素密度的屏幕每英寸上的像素点更少,而一个高像素密度的屏幕每英寸上的像素点更多。Android Browser和WebView默认屏幕为中像素密度。
target-densitydpi 属性的取值范围
- device-dpi: 使用设备原本的 dpi 作为目标 dp。 不会发生默认缩放。
- high-dpi: 使用hdpi 作为目标 dpi。 中等像素密度和低像素密度设备相应缩小。
- medium-dpi: 使用mdpi作为目标 dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。这是默认的target density。
- low-dpi: 使用mdpi作为目标 dpi。中等像素密度和高像素密度设备相应放大。
- <value>: 指定一个具体的dpi 值作为target dpi. 这个值的范围必须在70–400之间。
总结应用
- <meta name="viewport" content="width=640,user-scalable=no, target-densitydpi=device-dpi" />
一:target-densitydpi=device-dpi
屏幕分辨率采用设备分辨率,保持不变。
二:宽度定义,目前主流的宽度为640,也可以定义为设备宽度(device-width);高度自适应,这里不定义
三:禁止用户缩放比例:user-scalable=no
实践出真知,代码如下
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>viewport</title>
- <meta name="viewport" content="">
- <style>
- html,body{height: 100%;overflow: hidden;}
- body{font-size: 40px;margin: 0;padding: 0;background: #333}
- .viewport{height: 100%;width: 640px;margin: 0 auto;background: #fff}
- .viewport > .container{height: 1000%}
- .container > section{height: 10%;overflow: hidden;}
- .box{width: 320px;height: 200px;background: #f00;color: #fff;text-align: center;line-height: 200px}
- </style>
- </head>
- <body>
- <div class="viewport">
- <div class="container">
- <section><div class="box">320*200</div></section>
- </div>
- </div>
- </body>
- </html>
首先,viewport 的 contant为空,即保持默认,用手机预览后发现,两边有黑色空白区,红色背景宽是白色的一半,保持定义的比例。
将代码稍稍修改下,
- <meta name="viewport" content="width=device-width,user-scalable=no">
看到白色区域撑满整个屏幕,原本定义320宽的红色背景也撑满了
此时需要注意的事,如果宽度定义为设备宽度,可配合缩放比例进行设置,即:initial-scale
具体比例值因设备而异,iPhone4,5,6都是2倍,iPhone6 plus为3倍,另外很多三星的手机也是3倍。
所以在宽度设为设备宽度的情况下,样式定义的时候都要进行缩放,如320*200的图片,需要将图片处理为:320*200,样式定义为:160*150。
再修改下代码,也是最为推荐的:
- <meta name="viewport" content="width=640,user-scalable=no,target-densitydpi=device-dpi">
将宽度设为640,因为目前主流 的设备宽度为640,样式上不用特殊处理,与PC书写保持一致。
整理结束。
html5之meta标签viewport应用的更多相关文章
- 转 关于HTML5中meta name="viewport" 的用法 不同分辨率手机比例缩放
移动端的布局不同于pc端,首先我们要知道在移动端中,css中的1px并不等于物理上的1px,因为手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,那就意味着一个物理像素点实际上塞入了 ...
- meta标签viewport的深入理解(转)
移动前端开发之viewport的深入理解 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的met ...
- HTML 5之meta标签viewport应用
关于viewport的概念: 先了解移动设备的屏幕尺寸和设备尺寸: iPhone3 设备尺寸 320*480 ; 屏幕尺寸 320*480 iPhone4 设备尺寸 320*480 ; 屏幕尺寸 ...
- html5的meta标签
meta标签中的http-equiv属性使用介绍 meta是html语言head区的一个辅助性标签;meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言等等;感兴趣的朋友可以了解下 ...
- HTML 的 meta 标签
我们先来看看维基百科上对 meta element 的定义: Meta elements are tags used in HTML and XHTML documents to provide st ...
- meta标签大全
meta标签大全 <!-- x-ua-compatible(浏览器兼容模式) 仅对IE8+以效 告诉浏览器以什么版本的IE的兼容模式来显示网页 <meta ...
- HTML5开发之meta标签的viewport使用说明
随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而每一款手机有不同的分辨率,不同屏幕大 ...
- 移动前端头部标签(HTML5 head meta)
移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来.本文整理一些常用的meta标签. <!DOCTYPE html&g ...
- Meta标签以及viewport
meta是meta 标签用于网页的<head>与</head>中,meta 标签的用处很多.meta 的属性有两种:name和http-equiv. name属性主要作用:对应 ...
随机推荐
- 转载JSON格式化工具
格式化工具地址 http://tool.liuxianan.com/
- Oracle & Sun
2010s January 27, 2010: Oracle acquires Sun Microsystems.
- 网络子系统53_ip协议分片重组_内存阈值
//调用路径:ip_defrag->ip_evictor // 分片重组时,可使用内存上下限: // 1.sysctl_ipfrag_high_thresh 可用内存上限 // 2.sysctl ...
- Linux命令行访问网页
找到个好资料,备份行: http://hi.baidu.com/oyvfhp/blog/item/3aa5ced5b40563d351da4bb0.html CURL --- 命令行浏览器 这东西 ...
- MySQL timestamp用法
与timestamp类型相关的类型包括:date类型与datetime类型.date类型只包含日期部分,不包含时间部分,它的格式为'YYYY-MM-DD',支持的范围为'1000-01-01' to ...
- Measuring Signal Similarities
http://cn.mathworks.com/help/signal/examples/measuring-signal-similarities.html Open This Example ...
- 访问修饰符与可选修饰符static的使用
在Java中修饰符较多,在这里简单说一说几个访问修饰符的选择使用,和可选修饰符static的使用. 一.访问修饰符:这是Java里用来控制访问类及类的方法.变量的访问权限,从而达到只暴露接口,来隐藏内 ...
- ADO.NET 快速入门(二):执行命令
Commands发出针对数据库的数据存储动作.例如,你可以执行一条命令插入或者删除数据.获取更多从数据库移动数据相关的信息,请参考“Update a Database from a DataSet”. ...
- 从零开始学android开发- 应用程序窗体显示状态操作requestWindowFeature
我们在开发程序是经常会需要软件全屏显示.自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示. 首先介绍一个重要方法那就是requestWindowFeat ...
- BW导航属性设置
BW中的Attribute(属性)分为Display Att.和Navigation(导航) Att.,这里我就简称Dis. att和Nav. att了,导航属性可以做为变量来查询和做限制 1.首先进 ...