本文系个人理解,可能有误差,仅供参考,谨慎采纳!

布局视口: 系统自带 一般大于屏幕宽度

理想宽度:  设置页面的viewport 的一个宽度,使不同的手机的布局视口宽度尽量接近可视窗口的值;

可视视口:即屏幕宽度

第一种情况:不显示地设置viewport:  若代码中网页宽度小于设备默认值 按 默认,大于设备默认则viewport的宽度变为网页的最大值。

那么width的默认为手机厂商自定义的 布局视口layout viewport  宽度有980 1024等等,如: 手机宽度为980,

  1)如果网页的所有元素宽度都小于这个宽度如980,此时width为980,

  2)如果页面最宽的位置超过980,那么width等于最大宽度。

补充:在ios中(安卓未测),若网页高度<=设备高度,则viewport的宽度变为网页的最大值,宽度会产生滚动条;

  提示:不是适配手机端的页面建议不要设置viewport, 由系统自动缩放整个页面。

第二种情况:显示设置viewport  为理想宽度:即width=device-width, initial-scale=1.0  网页中需写适配代码。

  每个移动设备浏览器中都有一个理想的宽度,这个理想的宽度是指css中的宽度,跟设备的物理宽度没有关系,在css中,这个宽度就相当于100%的所代表的那个宽度。我们可以用meta标签把viewport的宽度设为那个理想的宽度,如果不知道这个设备的理想宽度是多少,那么用device-width这个特殊值就行了,同时initial-scale=1也有把viewport的宽度设为理想宽度的作用。所以,我们可以使用

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

只有这样才能保证同样的网站在不同分辨率的设备上看起来都是一样或差不多的。

实际上,现在市面上虽然有那么多不同种类不同品牌不同分辨率的手机,但它们的理想viewport宽度归纳起来无非也就 320、360、384、400等几种,都是非常接近的,理想宽度的相近也就意味着我们针对某个设备的理想viewport而做出的网站,在其他设备上的表现也不会相差非常多甚至是表现一样的。

第三种情况: 显示设置viewport  为不理想宽度,即和理想尺寸差别很大,如 viewport的width=1000(目前理想设计稿宽度一般参考Iphone5 640I或 Iphone6 750);

  1)如果网页不需要做适配: 必须viewport的宽度>代码中网页宽度,否则会因为宽度数值小而网页宽度大导致页面出现滚动条。

           A.网页宽度===viewport的宽度 则 满屏,比如,你拿个3.5寸-320 * 480的iphone3 gs、3.5寸-640 * 960的iphone4或者9.7寸-1024*768的ipad2,虽然设备的分辨率不同,物理尺寸也不同,但你可以通过设置viewport让它们在浏览器里有相同的分辨率。比如说,你的网站是800px宽,你可以通过设置viewport的width=800,来让你的网站在这三个不同的设备上都刚好满屏显示你的网站;

           B. 网页宽度>viewport的宽度,则会出现滚动条;

           C. 网页宽度<viewport的宽度,则会和PC端窗口变大一样的效果。

  2)如果网页做适配:如果非要在适配(此时适配无意义,只是假如非要这么操作。。。。有bing么?)情况下设置固定布局视口宽度,则网页宽度等于布局视口宽度,这样虽然不同手机都会满屏,但是显示会出现不同手机不同效果(看起来是viewport理想宽度下的整体放大或缩小),建议用第二种方式。

哦。。。 情况有点多,

但是作为一个细致的码农,

总之各种情况都要考虑到吧。。。

仅供参考。。。

----------------------------------------------------

如有错误,欢迎评论指正、共同提高。[握手]

欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/juneling ]

h5 移动端开发自适应 meta name="viewport"的使用总结的更多相关文章

  1. HTML5 Mobile 适应移动端的屏幕<meta name='viewport' content='xxxx'>

    网页手机wap2.0网页的head里加入下面这条元标签,在移动端的浏览器中页面将以原始大小显示,并不允许缩放. 加入 如下代码 即可自适应移动端的屏幕: <meta name="vie ...

  2. 移动端开发的meta标签作用

    一.<meta name="viewport" id="viewport" content="width=device-width, initi ...

  3. 页面自适应<meta name="viewport">标签设置

    viewport: 它在页面中设置,是应对手机模式访问网站.网页对屏幕而做的一些设置.通常手机浏览器打开页面后,会把页面放在一个虚拟的“窗 口”–这个比窗口大,也就是你常发现页面可以进行拖动.放大放小 ...

  4. 关于H5移动端开发 iPhone X适配

    一. 媒体查询. @media screen and (device-width:375px) and (device-height:812px){ #header { height: 88px; p ...

  5. H5移动端开发入门知识以及CSS的单位汇总与用法

    说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...

  6. H5移动端开发遇见的东西

    常见的有viewport.强制浏览器全屏.IOS的Web APP模式.可点击元素出现阴影 本文主要讲一些其他的或者实用的优化手段. 1. 弹出数字键盘 <!-- 有"#" & ...

  7. H5 移动端开发中 ios/安卓坑 和经验总结

    1. ios new时间对象,需要用逗号隔开传日期的方式, 不支持 new Date('2019-03-01 08:00:00') 格式: 支持以下两种方式: 2. ios个别版本对fixed的属性的 ...

  8. H5移动端开发

    开发前准备 环境: Node.js LTS版本 git 最新版 文档: 本项目技术栈基于 ES2016 VueJS vux 快速开始 1.克隆项目 git clone https://gitee.co ...

  9. H5移动端开发vue+vux

    项目src中用到的npm包有(从编译打包到最终部署仍不能移除)1:vue             渐进式 JavaScript 框架   http://cn.vuejs.org/v2/guide/2: ...

随机推荐

  1. Oracle ORA-00984: column not allowed here

    ORA-00984错误: 列在此处不允许当数据以char的形式存在时,应加单引号,则插入数据库就不会出现类似错误.

  2. delphi字符串分隔函数用法实例

    这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...

  3. 【用户体验】Google关闭标签的体验

    https://www.uisdc.com/hunter/0221334485.html 在优设-细节猎人里有不少好案例.

  4. centos7.5安装图形界面

    1.centos7.4安装图形界面 yum check-update && yum install epel-release && yum groupinstall & ...

  5. PostgreSQL学习笔记——事务

    事务时需要在同一处理单元中执行的一系列更新处理的集合.通过使用事务,可以对数据库中的数据更新处理的提交和取消进行管理. 事务处理的终止指令包括COMMIT(提交处理)和ROLLBACK(取消处理)两种 ...

  6. 查看某个进程PID对应的文件句柄数量,查看某个进程当前使用的文件句柄数量

    ================================ 1.linux所有句柄查询 lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more ...

  7. 图形学入门(3)——区域填充算法(region filling)

    继续图形学之旅,我们已经解决了如何画线和画圆的问题,接下来要解决的是,如何往一个区域内填充颜色?对一个像素填充颜色只需调用SetPixel之类的函数就行了,所以这个问题其实就是:如何找到一个区域内的所 ...

  8. PL/SQL链接Oracle数据库 导出表结构和表数据

    打开pl/sql客户端(导出数据表结构) 在左侧 点击tabales 2 Tools-->Export User Objects,导出sql格式的文件 3 红色1 是你要选择导出的表,红色2 是 ...

  9. cocos creator 判断滑动方向

    定义变量 public firstX = null; public firsty = null; 点击 获取坐标 this.viewNode.on(cc.Node.EventType.TOUCH_ST ...

  10. 工作总结--CTO(张王岩)IO的正式使用

    4个抽象类 InputStreawm int read()  void close() OutputStream void write(int) void flush() void close() R ...