CSS3中的rem、em与px间的换算关系

html-css010

CSS3中的rem、em与px间的换算关系,第1张

Pixel像素,相对长度单位。像素是相对于显示器分辨率而言。

相对长度单位,相对于 当前对象 内文本的字体尺寸,如当前对行内文本的字体尺寸未被设置,则相对于浏览器的默认字体尺寸。 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合:1em = 16px。

由上可见,em的值并不是固定的,它的值跟其父级元素的字体大小紧密相关。

示例:

rem是CSS3新增的一个相对单位(root em,根em),这个单位与em有什么区别呢?

目前除IE8及更早版本外,所有浏览器均已支持rem。对于不支持的浏览器,可以多写一个绝对单位的声明。如此浏览器会忽略rem设定的字体大小。如下:

注意:

px、em、rem在线转换工具: http://pxtoem.com/

参考自: https://blog.csdn.net/qq_41893551/article/details/81258600

任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合:1em=16px。那么12px=0.75em,10px=0.625em。

为了简化font-size的换算,需要在css中的body选择器中先全局声明 Font-size=62.5%,很多初学者可能会在此定义0.625em或者直接定义12px,这是没有效果的,一定要定义font-size=62.5%。

这就使em值变为 16px*62.5%=10px, 这样12px=1.2em,10px=1em,也就是说只需要将原来的px数值除以10,然后换上em作为单位就行了。

所以50px等于5em。

em是这样算的:它是根据字体的大小来计算的

因为浏览器默认的字体是16px(自己可以验证一下);

所以在没有其它设置的时候,1em=16px那么15em=15*16px你也看到了,这样用的话,还得计算它的值,有一点烦,所以我们在想用em时,会再设置一次:应该是这样的font-size: 62.%

因为10px/16px=62.5所以以后1em=10px那么16px=1.6em了。15em在平时的情况下,要比15px大很多很多的,因为它的值为15*16px呵呵。不会还不懂吧?