px

px是css像素,是一个虚拟像素,是一个相对单位
例如在两个不同的设备上,1px对应的物理、设备像素是不一样的

pt

pt是物理像素,它是一个绝对单位,设备出厂就固定的,不会改变
通常我们说的显示器分辨率,并不是真正的物理分辨率,而是桌面设置的显示分辨率

px与pt

css像素px是相对的,而物理像素pt是设备的分辨率,我们以iphone6来举例

iphone6的实际设备像素是750x1334,而它的逻辑像素,也就是视觉像素是375x667,所以这就出现了一个比例,设备像素比(Device Pixel Ratio DPR),一个设备的物理像素与逻辑像素之比

也就是说,一个逻辑像素的渲染其实是占用了两个物理像素,这样在不同分辨率的屏幕上,1px所展示的大小就基本上是一致的了。但这也出现了一个问题,不同分辨率本就是为了展示更高清的图片,如果展示为一样的,就失去了高分辨率的意义,因此出现了2x、3x倍图,高清屏幕使用更高清的图片

关于获取逻辑像素,我们可以使用screen.width和screen.height来获取屏幕的宽高,也可以使用window.devicePixelRatio来获取设备像素比

1px边框问题

由于物理像素pt与css像素px是相对的,所以在例如iphone6中,1px的边线就会使用2pt来渲染,无法实现真正的1像素

em

em是一个相对单位,相对于当前对象的文本字体尺寸。

如果未设置尺寸,则会使用浏览器默认字体大小,如果设置字体为16px,则1em就等于16px。em是相对于父级的,因此只要改变父级字体大小,子级就会自动变化。

rem

rem是相对于根元素字体大小,不会出现em中改变父级影响子级的问题。
移动端适配过程中,一个css像素对应不同数量的物理像素,因此不能写死px,而是要根据设备不同,显示不同的px,也就是动态计算,因此可以使用rem,不同分辨率设置不同的根字体大小,想对应的1rem也就对应了不同的px。
由此我们写一下思路

var 根元素font-size = 实际设备宽度 / 开发设备宽度 * 开发时根元素字体大小

假设我们为iphone6适配,它是375px,我们设置开发字体是100px

document.documentElement.style.fontSize =(document.documentElement.offsetWidth/375)*100 + 'px' ;

如果设计稿是750,是物理像素的话,那么我们可以再除以2,这样就可以得到实际的px了。再除以100就是rem,这样比较方便。

rpx

rpx是微信小程序引入的像素单位,小程序编译中会对rpx与px进行换算,换算的基准是375物理像素。也就是说在375物理像素的屏幕下,1rpx=1px

拿iphone6来举例,它是750物理像素的,因此1rpx=375/750 = 0.5px

参考文章:
https://blog.csdn.net/u014465934/article/details/97040694

像素单位(px pt rem em rpx)相关推荐

  1. CSS单位 px pt em和rem 之间的区别

    CSS中可以定义大小的单位有四种px,pt,em,rem,而px可以说在网页开发中最常见的单位了.不过现在如今的大多数网站已经开始用rem这个单位了.那么这四个单位有什么区别呢? px|pt|em|r ...

  2. Css单位px,rem,em,vw,vh的区别

    Css单位px,rem,em,vw,vh的区别 px 像素 rem 根元素字体大小 应用场景 使用和修改 em 相对于父元素的大小 % 相对长度单位 vw.vh 相对于视口的单位 视口 VW 相对于视 ...

  3. 微信小程序布局中的单位及使用:px、rem、rpx、vw、vh、n%

    没接触过 JavaScript.CSS.HTML的小白直接开始接触微信小程序的开发,在了解了各个部分的作用以后,布局的时候就发现:怎么这么多单位??? px.rem.rpx.vw.vh.n% 为了不总 ...

  4. 移动端rpx px,rem em区别

    前言 px.rpx.em以及rem是我们开发移动端遇到的最常见的长度单位.我们在开发移动端的时候,就要首先去弄懂这几个长度单位的区别与用法,免得到时候有很多的兼容性问题. px px像素(Pixel) ...

  5. px rem em rpx 区别 用法

    任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择 ...

  6. css1vh等于多少px,css单位px、rem、em、vw、vh

    css单位有两种分为相对单位和绝对单位 绝对单位有:px 相对单位有:rem.em.vw.vh 下面我们一起来了解这几个单位吧. 1.rem:相对根元素字体大小来计算 1rem默认为16px当根元素有 ...

  7. web开发之长度单位:px, pt, rem, vw, vh

    在前端开发中,常常会碰到各种长度单位,比如 px, em, rem, vw 等. 总的来说,可以把这些长度单位分成两类:绝对长度单位 和 相对长度单位. 绝对长度单位 绝对长度单位是一个固定的值,一个 ...

  8. css的像素单位PX或Px

    PX和Px的用途 如果你希望部分 px 单位不被转换成 rpx 或者 rem ,最简单的做法就是在 px 单位中增加一个大写字母,例如 Px 或者 PX 这样,则会被转换插件忽略.如: /* `px` ...

  9. Android的单位px,pt,dp,sp总结和获取屏幕分辨率

    px: pixels(像素). 是屏幕中可以显示的最小单位元素,px是设备密度有关的,不同设备显示效果不同.因为由于不同的设备密度不同,密度就是单位英寸的像素不同,在不同的手机上显示的大小就不同 pt ...

最新文章

  1. BZOJ 1488 Luogu P4727 [HNOI2009]图的同构 (Burnside引理、组合计数)
  2. 常见HTTP状态码列表
  3. 超详细的HTTP面试题
  4. 电脑计算机的硬盘那些可以删除吗,我的电脑出现多个可移动磁盘该怎么删除?...
  5. Oracle存储过程--案例
  6. 认证考试介绍之RHCE篇
  7. 小程序多个echars_小程序界面与逻辑
  8. Magento 创建唯一优惠券 Create unique coupon code in Magento
  9. 接口测试基础——第5篇xlrd模块
  10. RuntimeError: expected a Variable argument, but got torch.FloatTensor
  11. oracle批量update 转
  12. Puppet 部署tomcat
  13. 这是我见过Java版的最好的OA系统,拿来即用,非常方便(附项目地址)
  14. 《TCPIP详解》卷一系列解读
  15. axis2 wsdl2java 工具_Axis2中的工具wsdl2Java
  16. Pyton爬虫编程入门学习笔记(八)学习正则表达式
  17. 利用ps制作油画风格的照片
  18. 如何利用自定义函数把阳历转换成阴历
  19. 天气预报API (高德地图)
  20. 华为借贴牌沃达丰闯欧洲 首款3G手机9月上市

热门文章

  1. 程序员深度体验一周ChatGPT发现竟然....
  2. 年底谷歌扎堆升职,L3到L6升一级多$10w
  3. 彻底解决win10黑屏,睡眠后无法唤醒(Intel平台)
  4. CAD绘制二维码(网页版)
  5. HTML/CSS+JavaScript+jQuery
  6. PA2.2 PA2.3
  7. GitHub 上 100K+ Star 的前端面试开源项目汇总(进大厂必备)
  8. BIM土建插件墙齐梁板操作,实现墙、柱的顶部、底部对齐
  9. 福田欧曼ETX驱动桥的设计(说明书+8张CAD图纸+开题报告+任务书+中期检查表+答辩相关材料)
  10. linux系统能做什么的,Linux系统适合日常使用吗?普通人学Linux能干什么