对于viewport的理解
来源:互联网 发布:python ui automation 编辑:程序博客网 时间:2024/05/16 09:36
参考文章:http://www.cnblogs.com/2050/p/3877280.html
以下观点是我根据上面这篇文章的理解并做的图文解释,如有错误,还望指教
对于viewport的理解,我认为可以分成4层,最底层是,实际的网页,也就是网页内容的宽度,比如给网页的1个最完成的元素定义了一个1360px的像素,第然后就到layout viewport层,假设他的默认值是980px;,然后到visual viewport层,这层的默认值是ideal viewport 的大小。最后一层是ideal viewport,它在iPhone中是320px,在安卓中数值不等,不过都差不多。
对于<meta name="viewport" content="width=device-width,initial-scale=1" >
width指的是layout的宽度,而initial-scale指的是/ideal viewport/visual viewport。
具体的取值是这样的:
首先,
❶ 由layout viewport去区网页中的内容,layout viewport指的是 网页中的document.documentElement.clientWidth或者是document.body.clientWidth的大小,同时也是@ media screen (min-width:980px) 中的media 中的width所指的screen。
❷因此他的宽度(不管市默认还是指定),就相当于在电脑上的浏览器的宽度值一样,因此该层所看到的内容就像在浏览器上同样宽度时所看到的内容。
❸ 在meta标签中的width和initial-scale都可以控制他的宽度,如文章所说。initial-scale是相对于ideal viewport的宽度的,当initial-scale的值为0.5的时候,宽度是ideal viewport的两倍,也就是说 layout viewport/initial viewport =ideal viewpor。
其次,
❶ visual viewport 同样会根据 initial-scale 去确定自己得宽度,因此当显示地申明了 initial-scale 的时候,visual viewport的宽度就会等于 layout viewport的宽度,此时就不会出现任何的滚动条,但是如果没有显示申明initial-scale的时候,当visual viewport的宽度小于 layout viewport 宽度时,那么layout viewport 上的图层在visual viewport上面显示地时候就会出现滚动条。
最后,
❶ ideal viewport的宽度是固定的,visual viewport 要把他带上的根据initial-scale扩大或缩小到ideal viewport的宽度上,以让我们可以看到visual viewport上的所有内容。
PS:重申一点,layout viewport上的宽度所看到的内容是不带滚动条的可视部分,而visual viewport上所看到的内容可以带滚动条,但也只是layout viewport上所看到的内容。
- 对于viewport的理解
- 我对viewport的理解
- 移动端viewport的理解
- 移动端viewport的理解
- viewport理解
- WebAPP开发之viewport的深入理解
- 理解SVG的viewport,viewBox,preserveAspectRatio
- 移动开发之viewport的深入理解
- 移动web开发中viewport的理解
- 移动端开发之viewport的理解
- 理解SVG的viewport,viewBox,preserveAspectRatio
- viewport的深入理解-移动前端开发
- web移动端viewport的理解
- 对于继承的理解
- 对于volatile的理解
- 对于分布式的理解
- 对于volatile的理解
- 对于const的理解
- android5.0源码开发之自定义低电量警告AlertDialog
- 计算n!中结尾零的个数
- MySQL学习6_ERROR! MySQL server PID file could not be found!解决方法
- 第3周实践项目4 - 顺序表应用(2)
- gensim的LSI模型来计算文档的相似度
- 对于viewport的理解
- 工具方法:下载文件时碰到相同文件,文件名增加(1) 如果有(1)则下载文件名后缀(2)
- android 图片缩放
- git 分支创建和管理
- Java源码String类lastIndexOf方法的分析
- JAVA classLoader
- 安卓的数字签名技术
- linux 信号
- lsi计算文档相似度