首页 > 编程知识 正文

css中em是什么意思,em和px的区别

时间:2023-05-05 06:31:01 阅读:21870 作者:349

px px是css像素,是虚拟像素,是相对单位

例如,两个不同的设备在物理和设备上的像素与1px相对应

pt pt是物理像素,是绝对单位,设备出厂时是固定的,保持不变

显示器分辨率通常是桌面设置的显示器分辨率,而不是实际的物理分辨率

虽然px和pt css像素px相对,但物理像素pt是设备的分辨率,以iphone6为例

iphone6的实际设备像素为750x1334,其逻辑像素(即视觉像素)为375x667,因此它显示比例、设备像素比和单个设备的物理像素与逻辑像素之比

也就是说,一个逻辑像素的渲染实际上占用两个物理像素,并且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。 相反,可以使用rem,因为它会显示不同的px (即动态计算)。 如果根据分辨率设定不同的根字体大小,则想要支持的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是微程序引入的像素单位,在applet编译中,它转换rpx和px。 换算的标准是375物理像素。 也就是说,在375物理像素的画面中,1rpx=1px

以iphone6为例,因为它是750物理像素,所以1rpx=375/750=0.5px

请参阅文章:

3359 blog.csdn.net/u 014465934/article/details/97040694

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。