1. 分辨率就是window的屏幕分辨率。分辨率,物理像素,设备像素是一个东西。实际开发中不以物理像素为准

  2. css像素,逻辑像素,设备独立像素是一个东西,实际开发中使用css像素。iphone6的375像素是逻辑像素

  3. 设备像素比dpr :同一方向缩放比例是1的情况下
    dpr=设备像素/css像素
    在同一方向上标清屏一个物理像素对应一个css像素,而高清屏2个物理像素对应1个css像素,所有标清屏的dpr为1,高清屏的dpr为2。
    dpr=1,可以理解为设备像素和css像素是一对一的关系。
    dpr=2,可以理解为设备像素和css像素是二对一的关系。

    关于css像素,分辨率,设备像素比dpr ,视口viewport, ppi, 缩放 的简单理解

  4. 缩放:改变的是css像素对应的物理像素的个数。
    缩放-放大
    如果一个css像素对应1个物理像素的话。
    设置为放大一倍:

    关于css像素,分辨率,设备像素比dpr ,视口viewport, ppi, 缩放 的简单理解
    那就是同一方法上两个css像素对应1个物理像素;或者说一个css像素对应2*2个物理像素。
    总结:一个物理像素对应的css变多了,css像素会变大。css像素被放大了,原有页面对应的css像素的物理像素点变多了。一个页面最终放大之后css像素总数反而变少了

    缩小一倍:
    关于css像素,分辨率,设备像素比dpr ,视口viewport, ppi, 缩放 的简单理解
    2*2个css像素对应1个物理像素,或者说1个css像素对应四分之一的物理像素。

  5. ppi:每英寸的物理像素点

  6. 在不设置viewport的情况下:
    参考新浪首页变手机首页的模样,发现:整个页面的数据变小在一个页面显示。
    css:375px。
    ----在不设置viewport的情况下:
    在iphone6下的视口为980px;为了解决看不完整就要拖动滚动条的问题。为了在手机上显示完整iphone默认,会将980px的页面缩小到屏幕大小375px;
    会将页面显示在一个980px的视口中再缩小到375px的视口内
    ----在设置了viewport的情况下(缩放比为1):
    将视口宽度,调整为设备的css宽度,页面看上去不比不设置视口的大一些。
    pc页面过大要拖动横条。意思是不会缩小,

  7. -------关于缩放的理解! initial-scale=1; 初始的缩放比例为1。

    --------initial-scale=1相当于width=device-width,

    --------initial-scale=1表示不需要缩放,什么情况下不需要缩放?

    答:原来的980需要缩放,你设计页面的宽和设备相等的时候就不需要缩放。所以width=device-width隐含了这个意思。

    ------放大的情况:initial-scale=2 表示css像素被放大了,他对应的css像素的物理像素点变多了。 initial-scale=1 html的css为375,initial-scale=2 html的css为187.

    横向物理像素点不变 现在187个像素就可以表示之前375个像素表示的物理像素点。

    放大之后187要乘以2,之前是375乘以1。他们表示同样的像素点。 最终放大之后css像素反而变少了。

    -------缩小的情况:initial-scale=0.5 做小之后由原来的375变成了750。 因为缩小了一半,之前只要375描述的现在要750个像素来描述。
    因为1个css像素对应的物理像素点变少了。所有他本身要变大,保证他们总数是不变的。

    最大最小缩放比例不同浏览器有不同的限制。一般5以内的都可以。 单写不同浏览器有不同的问题,大家都写上就可以了。

    -----user-scalable:用户可否缩放 yes , no 。

    --------user-scalable=no相当于maximum-sacle =1,minumum-scale = 1(字面意思) !!!这么写了,很多国外的浏览器用户还是可以缩放,国内的支持还行。 视口-viewport

    1.标签:<meta name="viewport" content="=width=device-width,initial-scale=1,user-scalable=no,maximum-scale=1,minimum-scale=1"/>-----标准写法
    -----------这么写了,如何在js中获取参数呢?
    1> iphone6/7/8 1》window.innerWidth:375 2>window.document.documentElement.clientWidth: 375
    3>window.document.getBoundingClientRect().width(); 375

    考虑兼容问题:1|| 2 || 3

    screen.width—不建议,不同浏览器处理方式不一样兼容问题(有时候获取到视口像素用css描述,有时候获取物理像素去了)

    -----dpr:通过js获取 window.devicePixelRatio;设备像素比

不设置viewport

关于css像素,分辨率,设备像素比dpr ,视口viewport, ppi, 缩放 的简单理解
iphone6实验
这里的css像素在变!!!变的是页面的初始画布的大小。
页面设置最外层宽200px,里面用百分比。图片1280*1280

结论:不写viewport 页面视口980px页面在这里渲染(实际375),在手机上视觉页面会变小。
写了viewport ,缩放比为1,就是视口和css像素一样,375,视觉页面变大。
写了缩放2。页面更大。html标签像素187
缩放0.5 。。html标签像素750

问题:关于图片像素模糊的问题?
https://blog.csdn.net/qq_42704649/article/details/86507883

相关文章: