viewport的概念
viewport就是设备的屏幕上能用来显示我们的网页的那一块区域。

content属性值

<meta name="viewport"   content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  • viewport标记,用于指定用户是否可以缩放Web页面,并对相关的选项进行设定。

  • width 和height 指令分别指定视区的逻辑宽度和高度。它们的值可以是以像素为单位的数字,也可以是一个特殊的标记符号。如上文代码中device-width即表示,视区宽度应为设备的屏幕宽度。类似的,device-height即表示设备的屏幕高度。

  • initial-scale用于设置Web页面的初始缩放比例。默认的初始缩放比例值因智能手机浏览器的不同而有所差异,通常情况下,设备会在浏览器中呈现出整个Web页面。设为1.0则显示未经缩放的Web页面。

  • maximum-scale和minimum-scale用于设置用户对于Web页面缩放比例的限制。值的范围为0.25~10.0之间

  • user-scalable指定用户是否可以缩放视区,即缩放Web页面的视图。值为yes时允许用户进行缩放,值为no时不允许缩放。

整个网页在设备内显示时的页面宽度就会等于设备逻辑像素大小,也就是device-width。这个device-width的计算公式为:设备的物理分辨率/(devicePixelRatio * scale),在scale为1的情况下,device-width = 设备的物理分辨率/devicePixelRatio

devicePixelRatio称为设备像素比,每款设备的devicePixelRatio都是已知,并且不变的,目前高清屏,普遍都是2,不过还有更高的,比如2.5, 3 等。淘宝触屏版布局的前提就是viewport的scale根据devicePixelRatio动态设置:

css中的1px并不等于设备的1px
在css中我们一般使用px作为单位,在pc浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像素,这可能会造成我们的一个错觉,那就是css中的像素就是设备的物理像素。但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的。

在为pc浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设备中,屏幕像素密度都比较低,如iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4开始,苹果公司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。后来,不同设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。

还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。关于这点,在文章后面的部分还会讲到。

在移动端浏览器中以及某些桌面浏览器中,**window对象有一个devicePixelRatio属性(设备像素比),它的官方的定义为:设备分辨率和设备独立像素的比例,也就是 devicePixelRatio = 设备的物理像素(分辨率) / 独立像素(实际css中像素)。独立像素也就是设备的宽度(device-width),device-width = 设备分辨率/devicePixelRatio(设备像素比) **。例如,在Retina屏的iphone上,devicePixelRatio的值为2,也就是说1个css像素相当于2个物理像素。

移动端适配时对meta name=“viewport“ content=“width=device-width,initial-scale=1.0“的理解相关推荐

  1. 关于meta name=viewport content=width=device-width, initial-scale=1.0, maximum-scale=1.0, user-sc..

    网页源代码中有时候会遇到这样的一段代码: <metaname="viewport"content="width=device-width, initial-scal ...

  2. 关于<meta name=“viewport“ content=“width=device-width,initial-scake=1.0, maximum-scale=1.0,user-s..“>

    网页源码中有时会遇到这样的一段代码: <metaname="viewport"content="width=device-width, initial-scale= ...

  3. meta name=viewport content=width=device-width,initial-scale=1.0 究竟什么意思

    meta name="viewport" content="width=device-width,initial-scale=1.0" 解释 <meta ...

  4. head中meta name=viewport content=width=device-width,initical-scale=1的作用

    <meta name="viewport" content="width=device-width,initical-scale=1"的作用> co ...

  5. meta name=viewport content=width=device-width,minimum-scale=1.0,maximum-scale=1.0/

    网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放. <meta name="viewport" conten ...

  6. < meta name=“viewport“ content=“width=device-width, initial-scale=1.0“>的解释

    < meta name="viewport" content="width=device-width, initial-scale=1.0"> me ...

  7. html - meta name=viewport content=XX/ 标签常见属性及说明

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

  8. 关于meta name=viewport content=width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalabl...

    网页源代码中有时候会遇到这样的一段代码: <meta name="viewport" content="width=device-width, initial-sc ...

  9. meta name=viewport content=width=device-width, initial-scale=1.0, user-scalable=no, minimum-scal

    触摸屏设备IOS.Android等对网站meta的定义,经常用的时候就是复制下面几行代码... <meta http-equiv="Content-Type" content ...

最新文章

  1. [ZZ]风险评估和最佳实践
  2. 利用Windows Server Backup备份数据进行域控裸机还原
  3. arcgis和matlab,ArcGIS和MATLAB应用并不困难
  4. boost::allocate_unique相关的测试程序
  5. Ghost文件封装说明
  6. codeforces1493 D. GCD of an Array(数论)
  7. phpcmsV9调用顶级父栏目的所有子栏目 - 调用总结
  8. python网络爬虫学习笔记(二):爬虫基本概述
  9. php的Allowed memory size of 134217728 bytes exhausted问题解决办法
  10. jedis访问redis学习笔记
  11. 第十一章 策略梯度(Policy Gradient)-强化学习理论学习与代码实现(强化学习导论第二版)
  12. CentOS更改主机名
  13. java POI创建Excel示例(xslx和xsl区别 )
  14. c语言数组头尾交换逆序
  15. Kubernetes笔记(八) Kubernetes 安全
  16. BZOJ 4816[SDOI2017]数字表格(莫比乌斯反演)
  17. C++线程编程-设计无锁的并发数据结构
  18. 罗升阳对安卓2.3系统的总结
  19. 针对list集合的操作,按照某一字段,对另一个字段进行归类
  20. ContextCapture Center Update 18

热门文章

  1. 如何在项目中利用 git 提高工作效率
  2. 微信小游戏-飞机游戏玩法改造系列(二:支持血条)
  3. Docker学习--修改阿里云镜像
  4. Android 部分手机拍照后获取的图片被旋转
  5. 树莓派WIFI配置遇到的坑 之 连接不上WIFI
  6. 我们经常看到的”缺省“是什么意思
  7. line-height的使用方式
  8. 小米6怎样打开位置服务器,小米手环6gps定位功能在哪打开?经常无法定位怎么办...
  9. 小程序实现漂亮的个人中心版面
  10. 国外服务器被攻击以及应对方法