关注 “认真学前端”css
加入咱们一块儿学习,每天进步前端
本文首发于微信公众号:认真学前端微信
咱们一般所说的显示器分辨率,实际上是指桌面设定的分辨率,而不是显示器的物理分辨率。只不过如今液晶显示器成为主流,因为液晶的显示原理与CRT不一样,只有在桌面分辨率与物理分辨率一致的状况下,显示效果最佳,因此如今咱们的桌面分辨率几乎老是与显示器的物理分辨率一致了。
UI稿的像素是指物理像素
咱们接到的UI设计稿例如750px就是物理像素
只要两个屏幕逻辑像素相同,它们的显示效果就是相同的。 也就是CSS世界中的px相同,相同物理尺寸的屏幕显示效果就是相同的学习
以下图 当咱们在网页上设置一个元素的css像素(width:2px;height:2px)时,在dpr=1的显示器上时,最终会占用一个四个物理像素点,当在dpr=2时的显示器上时,会占用16个物理像素点。由此得出结论,在不一样屏幕下css像素的物理尺寸是一致的,不一样的是一个css像素对应的物理像素点个数不同spa
<!-- m站移动端适配js -->设计
// 适配 物理像素宽750 1rem=100px // clientWidth(实际的逻辑像素)/375(参照基准逻辑像素) = fontSize(实际的1rem像素值)/100(参照的1rem逻辑像素值) ;(function(win, doc){ function change(){ doc.documentElement.style.fontSize=100*doc.documentElement.clientWidth/375+'px'; } change(); win.addEventListener('resize', change, false); })(window, document); // 这样咱们就计算出实际不一样逻辑像素下1rem的值了 // 实际工做中若是UI给是设计稿宽度是750px 那么咱们就须要在量到的宽度的基础上除以200 // 咱们在打开控制台查看元素之间的距离的时候都是设计稿上的一半 设计稿的物理像素2px对应逻辑像素1px // 我司如今的设计稿都放在蓝湖上 宽度都是标准的375 那么咱们只须要在量得的宽度基础上除以100就获得实际的宽度是多少rem // 附: 固然也有其余适配方案,可是rem原理都是同样的,除非采用的不是rem方案
以2倍屏为例code
本来2*2像素的图片在2倍屏下 有4*4个像素点组成 那么多出来须要绘制的像素点的就会在之前周周附近找类似的,因此有了模糊的问题。如今工做中通常为了图片高清显示,都是采用苹果两倍图。blog