聊聊前端像素相关问题

前言:关于浏览器的物理像素,设备独立像素,物理像素比一直很模糊,在学习前端期间也查找了不少资料,但是每次看完后时间稍长一点就忘记了,所以到现在对这个东西一直是一知半解的,特此写一遍笔记来总结相关概念。

1、物理尺寸

  • 显示器的实际尺寸,与现实中的尺寸一样

2、物理像素

  • 一个物理像素是显示器屏幕上最小的物理显示单元;显示器物理尺寸跟显示器物理物理像素没有关系,同样物理尺寸的显示器,retina屏的物理像素一般大些。这里的大是指同样实际尺寸屏幕,retina屏的物理像素点要多。

3、设备独立像素

  • 设备独立像素也叫设备密度无关像素,可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),然后由相关系统转换为物理像素。

4、设备像素比(dpr)

  • 即物理像素与设备独立像素之间的关系
  • //公式
    //设备像素比 = 物理像素 / 设备独立像素
    //浏览器获取设备像素比
    window.devicePixelRatio

     

5、原理

  • 如下图,当我们在网页上设置一个元素的css像素(width:2px;height:2px)时,在dpr=1的显示器上时,最终会占用一个四个物理像素点,当在dpr=2时的显示器上时,会占用16个物理像素点。由此得出结论,在不同屏幕下css像素的物理尺寸是一致的,不同的是一个css像素对应的物理像素点个数不一样。

6、关于浏览器图片模糊(位图)矢量图不存在这个问题(如svg)

  • 假设现在有一张100*100px的png图片,当图片显示在dpr=1的显示器上时,会占据100*100=10000个物理像素点,这是图像是清晰显示。如果我们将这个100*100px的图片放到dpr=2的屏幕上,此时图片的10000个css像素点会占据(100*2)*(100*2)=40000个物理像素点,一个位图像素对应四个物理像素,因为单位CSS像素不能再进行分割,所有只能就近取色,所以导致图片模糊。

7、图片模糊解决方案

  • 加载高倍图,容器尺寸减小一般,比如,200*400的图片,设置img(width:100px;height:200px;)。
  • 针对不同dpr的显示器加载不同尺寸的图片。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
昨天,Web前端是一个非常基础的领域,主要关注页面的布局和样式。在这个阶段,主要使用HTML和CSS来创建网页,JavaScript主要用于增加一些动态效果。当时,前端开发主要集中在PC端的网站上。 今天,Web前端发生了巨大的变化。随着移动设备的普及和技术的进步,响应式设计的概念兴起,使得前端开发不再局限于PC端网页,而要考虑各种不同尺寸的屏幕适配。还出现了一些新的前端框架和工具,如React、Vue等,使得前端开发更加高效和灵活。同时,前端的职责也变得更加多元化,不仅仅是页面的布局和样式,还包括与后端进行数据交互、处理用户输入等。 明天,Web前端有望继续蓬勃发展。随着人工智能、大数据等技术的发展,前端开发将面临更多挑战和机遇。人工智能可以用于自动化页面生成和交互设计,提高开发效率。大数据的应用也将使得前端可以基于用户的行为数据进行个性化推荐和优化。同时,Web前端的应用场景也将继续扩展,如移动应用、桌面应用等。与此同时,前端开发人员的技术要求也会更加深入,需要掌握更多的新技术和工具,如WebAssembly、PWA等。 总结来说,Web前端已经从一个基础的领域发展成为一个多元化且充满潜力的领域。无论是过去、现在还是将来,Web前端都起着关键的作用,不断推动着Web技术的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值