移动端开发之viewport
2016-10-14 00:00
183 查看
参考了很多资料,说说自己对viewport的理解
viewport分visual viewport和layout viewport,visual viewport可以理解为移动设备屏幕的可视区域,visual viewport的大小可以理解为就是品目可视区域的大小,而layout viewport则是存放我们的网页的。为什么会有两个viewport?
因为早期的网页基本都是pc端的网页,而pc端的分辨率大大高于移动端的分辨率(这里移动端分辨率指的是移动端的物理像素),所以为了能够使pc端的网页能够在移动端上正常显示,所以出现了layout viewport。而浏览器厂商一般将layout viewport初始化为宽度980px,当然也有的不是这个数字。怎么让layout viewport能够在visual viewport中能够正常显示
这就是缩放因子initial-scale的工作了,initial-scale代表layout viewport与visual viewport的比值,既一个布局像素(css像素)代表几个物理像素,比如initial-scale=2则代表一个物理像素代表两个css像素;当我们没有设置meta的时候,浏览器会自动设置initial-scale,以便让layout viewport能够完全显示在visual viewport中而不会出现横向滚动条,比如你的移动设备物理像素宽度是360px,而layout viewport宽度为980px,则浏览器会自动将initial-scale设置为0.367346,以便不出现横向滚动条。这是3.67346个css像素才站一个物理像素的位置,所以刚好不会出现横向滚动条;当只设置了initial-scale而没有设置layout viewport的时候,浏览器也会自动设置layout viewport,以时layout viewport刚好能在visual viewport中显示,比如initial-scale=2,你的visual viewport是360px的时候,浏览器会自动将layout viewport宽度设置为720px,因为此时一个css像素等于两个物理像素的宽度,所以layout viewport刚好能在visual viewport中显示完全而不出现滚动条。怎么设置layout viewport的宽度
这就是缩放因子width的工作了,width可以设置为任意的大小或者device-widthwidth和initial-scale都存在时怎么办
浏览器会设置layout viewport宽度是两者单独存在时计算的layout viewport较大的那一个,因此此时时可能出现横向滚动条的,比如你的visual viewport是360,你设置width=720px,initial-scale=1此时layout viewport大于visual viewport而且一个css像素跟一个物理像素是一样的,所以会出现横向滚动条ideal viewport
让layout viewport的宽度和visual viewport的宽度相等,并且让1个css像素等于1个物理像素,这就是移动端的最佳viewport,即<meta name="viewport" content="width=600,initial-scale=1,maximum-scale=1,minimum-scale=1, user-scalable=no"/>
其他属性
maximum-scale:最大缩放因子minimum-scale:最小缩放因子
user-scalable:是否允许用户进行手动缩放
height:layout viewport的高度,这个属性基本没有用处
参考链接
http://www.cnblogs.com/2050/p/3877280.htmlhttp://blog.doyoe.com/2015/10/20/mobile/%E7%A7%BB%E5%8A%A8%E5%89%8D%E7%AB%AF%E7%AC%AC%E4%BA%8C%E5%BC%B9%EF%BC%9A%E5%96%84%E7%94%A8meta/#more
相关文章推荐
- 移动端 设计与开发经验之ViewPort
- 移动端开发学习1:viewport
- 移动端网页开发 meta 之 viewport
- HTML5移动端开发中的Viewport标签及相关CSS用法解析
- 移动端开发总结(一)视口viewport总结
- 移动端开发viewport深入理解(转)
- 移动端开发之viewport、fiddler
- HTML5+CSS3移动端开发_viewport参数设置
- 移动端开发-viewport实现响应式设计
- web移动端开发(2)-viewport
- 移动端开发之viewport的理解
- 移动端webapp开发必备知识[转]
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(2)
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(2)
- 浅谈跨平台移动应用开发AppCan 移动端UI2.0框架
- 新浪微博移动端开发的那些事
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(1)
- 浅谈跨平台移动应用开发AppCan 移动端UI2.0框架
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(2)
- HTML5开发手机应用--viewport的作用