彻底了解CSS中的长度单位
标签(空格分隔): CSS
我们在写css的时候最常用的长度单位是px(像素),经常看到的还有em,pt等等,其实css中的长度单位一共有8个,分别是px,em,pt,ex,pc,in,mm,cm;
- px:像素(Pixel),相对于设备的长度单位,像素是相对于显示器屏幕分辨率而言的。
譬如,WONDOWS的用户所使用的分辨率一般是96像素/英寸。而MAC的用户所使用的分辨率一般是72像素/英寸。 - em:相对长度单位。相对于当前对象内文本的字体尺寸。
如当前行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 - pt:点(Point),绝对长度单位。
- ex:相对长度单位。相对于字符“x”的高度。此高度通常为字体尺寸的一半。
如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 - pc:派卡(Pica),绝对长度单位。相当于我国新四号铅字的尺寸。
- in:英寸(Inch),绝对长度单位。
- mm:毫米(Millimeter),绝对长度单位。
- cm:厘米(Centimeter),绝对长度单位。
其中:1in = 2.54cm = 25.4 mm = 72pt = 6pc ;
容器的大小我们经常用px做单位,大家都没什么异议,
字体大小(font-size)很多国内的人(包括我)使用px做单位,其实用px做字体单位唯一的致命缺点就是在IE下无法用浏览器字体缩放的功能。如图。或者以前的按住Ctrl+滚动鼠标的中间的滚轮。
所以多人建议使用em,对于用惯了px的人用em肯定不是很方便,这里提供一些转换公式和对照表供大家参考:
- PX to EM: Example: 12px / 16px = .75em
- PX to %: Example: 12px / 16px * 100 = 75%
- PX to PT: Example: 16px * 72 (72 points = 1 inch) / 96 (96 pixels per inch in Windows, 72 in Mac) = 12pt
- EM to PX: Example: .75em * 16px = 12px
- EM to %:Example: .75em * 100 = 75%
- % to PX:Example: 75 * 16px / 100 = 12px
- % to EM:Example: 75 / 100 = .75em
- PT to PX: Example: 12pt * 96ppi / 72ppi = 16px
**
Pixels | EMs | Percent | Points |
---|---|---|---|
6px | 0.375em | 37.5% | 5pt |
7px | 0.438em | 43.8% | 5pt |
8px | 0.5em | 50% | 6pt |
9px | 0.563em | 56.3% | 7pt |
10px | 0.625em | 62.5% | 8pt |
11px | 0.688em | 68.8% | 8pt |
12px | 0.75em | 75% | 9pt |
13px | 0.813em | 81.3% | 10pt |
14px | 0.875em | 87.5% | 11pt |
15px | 0.938em | 93.8% | 11pt |
16px | 1em | 100% | 12pt |
17px | 1.063em | 106.3% | 13pt |
18px | 1.125em | 112.5% | 14pt |
19px | 1.188em | 118.8% | 14pt |
20px | 1.25em | 125% | 15pt |
21px | 1.313em | 131.3% | 16pt |
22px | 1.375em | 137.5% | 17pt |
23px | 1.438em | 143.8% | 17pt |
24px | 1.5em | 150% | 18pt |
或者直接访问http://pxtoem.com/(一个px和em互换的网站);
最后说一句被拍砖的话:
个人认为现在用px做字体单位在IE下无法用浏览器字体缩放的功能的缺点已经不再是那么重要了。因为新版本ie7,ie8都已经支持整个网页的缩放功能,包括火狐默认也是缩放整个网页,而不是缩放字体,没那么单纯的缩放字体大小还有什么重大的意义吗?我的答案是吃饱了撑着没事找事。按住Ctrl+滚动鼠标的中间的滚轮试试!时代不同了!ie进步了!