您的位置:首页 > Web前端 > CSS

CSS里面的长度单位px/pt/em/in/pc/mm/cm解释

2016-09-22 14:36 253 查看
在CSS中,度量单位分为两种:

 

相对单位:px / em / ex / %

绝对单位:cm / pt / in / pc / mm

 

这些单位的具体解释

 

px

相对长度单位。像素(Pixel)。

像素是相对于显示器屏幕分辨率而言的。譬如,WONDOWS的用户所使用的分辨率一般是96像素/英寸。而MAC的用户所使用的分辨率一般是72像素/英寸。

 

em

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

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

 

ex

相对长度单位。相对于字符“x”的高度。此高度通常为字体尺寸的一半。

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

 

pt

绝对长度单位。点(Point)。

1in = 2.54cm = 25.4 mm = 72pt = 6pc

 

pc

绝对长度单位。派卡(Pica)。相当于我国新四号铅字的尺寸。

1in = 2.54cm = 25.4 mm = 72pt = 6pc

 

in

绝对长度单位。英寸(Inch)。

1in = 2.54cm = 25.4 mm = 72pt = 6pc

 

mm

绝对长度单位。毫米(Millimeter)。

1in = 2.54cm = 25.4 mm = 72pt = 6pc

cm

绝对长度单位。厘米(Centimeter)。

1in = 2.54cm = 25.4 mm = 72pt = 6pc

 

究竟有什么区别呢?

 

    首先要明白一点,那就是屏幕分辨率。我们知道,在不同的分辨率下,像素点的大小是不同的。所以同一个网页,以px作长度单位时,在不同的分辨率下显示的大小是不同的。在低分辨率下,像素点较大,细节不够清晰,显示的页面也大,但模糊不清。

 

    实际上,所有的单位,无论是相对还是绝对单位,最终都是转化为px为单位的---在屏幕上的显示。所以一般来说,在网页制作时,基本单位都选择px而不是pt,因为pt也是通过浏览器的DPI转换成px显示(比如FireFox的DPI是96,则有9pt = 12px)。不仅pt,cm/in/mm等都是转换成px的。所以无论用绝对还是相对,在不同分辨率下都是会变的。不要以为我把长度设置为3cm,它就会在不同的分辨率下保持3cm不变。

 

那又为什么出现绝对单位和相对单位呢?

 

    我觉得pt还是很有用的一个单位,在打印时尤其如此。现在有的网页已经实现了显示是一个页面,打印用另一种方式,我想在打印上采用的就是pt吧,因为针对不同的分辨率,打印出来的页面都是一样的大小。这就是绝对单位的第一个特征。但是依然要记住,在显示上,这个单位代表的不是真实的物理长度,它也是要根据像素的实际大小(这个跟分辨率有关)进行调整的。

 

   那么绝对单位和相对单位是什么回事?首先可以了解下%单位。我们在学习导航栏的制作时,有过了解"一列宽度自适应"的布局手法。那里面将div容器的width属性设置为80%,用的就是相对单位---相对浏览器窗口的大小,div块的宽度是80%。

 

   实际上我们可以这样理解,将px看做绝对单位---显示上的绝对单位。其他的相对单位都是以它为基础的。比如em,它就是相对当前文本字体的高度(假设当前文本字体的尺寸是 12px, 我们设置新的字体为1.5em,则新字体尺寸转换为 12 * 1.5 = 18px)。要记住的就是em是相对父级元素的高度---假设第一个div里面我们设置了字体是12px,第二级我们设置为1.5em,第三级设置为1.5em,实际上字体的显示是:第一级12px,第二级18px,第三级 18 * 1.5 = 27px。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  css