css中font-size的单位px和pt有什么区别?

html-css010

css中font-size的单位px和pt有什么区别?,第1张

px:pixel,像素,屏幕上显示的最小单位,主要用于网页设计,同样px的元素在不同分辨率的显示器中会呈现为不同的大小;

pt:point,是一个标准的长度单位(一般音译为磅),1pt=1/72英寸,主要用于印刷业,同样pt的元素在不同的打印机中打印出来大小都是一样的。

px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽、比例有可能会不同。假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米。另外一个px点的长宽不一定是1:1的正方形,有的设备上长宽比是不一样的。

em尺寸:所有现代浏览器下默认字体尺寸是16px,这时1em=16px。然后你人为的把body里面定义font-size:12px(把浏览器默认16px改小了),此刻1em=12px,如果0.8em实际等于12px*0.8;em的用处是你要整个网页字体统一变大变小你只要改body里面font-size的值就行了。

另外:em会继承父元素的字体大小,比如:

body{font-size: 16px}

p{font-size:0.75em}

span{font-size:2em}

我大小为16px

段落文字大小为12px(16*0.75)

我大小是2em,即24px,这里是相对父级字号*2的,而不是相对body里面的16px

Rem,上面你看到了,em相对父级,嵌套一多了算字体到底多大就很操蛋,所以有了Rem(浏览器支持还不是很理想),他只相对html或body的字体尺寸(默认还是16px,除非你自己用font-size定义为其他),没有了继承父级尺寸这个关系。

rem是相对长度单位。相对于当前对象内文本的字体尺寸。

如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。

示例:

div { font-size : 1.2em}

rem与px的换算

1rem=16px, 12px=0.75rem

如果将rem换算后html{font-size:62.5%},1rem=10px.

首先,rem是以html为基准。

一般的,各大主流浏览器的font-size默认值为16px,此时1rem=16px。如果此时将rem与px进行换算很麻烦,比如0.75rem=12px。

为了更方便的进行换算(比如1:10),就可以加样式:

16px*0.625 = 10px

设置了62.5%以后就有 1rem=10px,便于用rem指定元素的尺寸(比如1.2rem=12px,1.4rem=14px),这样响应式的时候就可以直接改变font-size而无需计算其他各种样式中出现的尺寸了。

用rem定义尺寸的另一个好处是更能适应 缩放/浏览。