是一个虚拟长度单位,是计算机系统的数字化图像长度单位,若是px要换算成物理长度,须要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时通常都有DPI可选。Windows系统默认是96dpi,Apple系统默认是72dpi。css
是一个相对长度单位,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用法相似百分比,如:0.8em, 1.2em,2em等。一般1em=16px。html
是一个物理长度单位,指的是72分之一英寸。pt=1/72(英寸), px=1/dpi(英寸)浏览器
是CSS3新增的一个相对单位,这个单位引发了普遍关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优势于一身,经过它既能够作到只修改根元素就成比例地调整全部字体大小,又能够避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,全部浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。bash
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册) em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册) PX特色工具
em 指字体高,任意浏览器的默认字体高都是16px。因此未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。为了简化font -size的换算,须要在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只须要将你的原来的px数值除以10,而后换上em做为单位就好了。字体
1em指的是一个字体的大小,它会继承父级元素的字体大小,所以并非一个固定的值。任何浏览器的默认字体大小都是16px。所以,12px = 0.75em。实际应用中为了方便换算,一般会以下设置样式: CSS代码网站
html { font-size: 62.5%; }
复制代码
这样,1em = 10px。咱们经常使用的1.2em理论上就是12px。可是,这个换算在IE浏览器下不成立,1.2em会比12px稍大一些,解决办法是把html标签样式中的62.5%改为63%,即: CSS代码spa
html { font-size: 63%; }
复制代码
在 中文的文章中,通常会在段首空两格。若是用px做为单位,对12px字体来讲须要空出24px,对14px字体来讲须要空出28px……这样换算很是不通 用。若是用上em单位,这个问题就很好解决了,1个字的大小就是1em,那两个字的大小就是2em。所以,只需这样定义就好了: CSS代码code
p { text-indent: 2em; }
复制代码
字体单位应该用em而不用px,缘由简单来讲就是支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应。px是绝对单位,不支持IE的缩放,em是相对单位。 我在调整本blog的时候,发现不只仅是字体,将行距(line-height),和纵向高度的单位都用em。保证缩放时候的总体性。htm
完成 em转换时还发现了一个诡异的现象,就是由以上方法获得的12px(1.2em)大小的汉字在IE中并不等于直接用12px定义的字体大小,而 是稍大一点。你只需在body选择器中把62.5%换成63%就能正常显示了。缘由多是IE处理汉字时,对于浮点的取值精确度有 限。本现象只发生在12px的汉字,英文不存在此现象。解决方法就是把style.css中的62.5%换 为63%。
地址:pxtoem.com/
rem是CSS3新增的一个相对单位(root em,根em),这个单位引发了普遍关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优势于一身,经过它既能够作到只修改根元素就成比例地调整全部字体大小,又能够避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,全部浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。 举例:
p {font-size:14px; font-size:.875rem;}
复制代码
注意: 选择使用什么字体单位主要由你的项目来决定,若是你的用户群都使用最新版的浏览器,那推荐使用rem,若是要考虑兼容性,那就使用px,或者二者同时使用。
字号 | pt | px | em |
---|---|---|---|
初号 | 42pt | 56px | 3.5em |
小初 | 36pt | 48px | 3em |
34pt | 45px | 2.75em | |
32pt | 42px | 2.55em | |
30pt | 40px | 2.45em | |
29pt | 38px | 2.35em | |
28pt | 37px | 2.3em | |
27pt | 36px | 2.25em | |
一号 | 26pt | 35px | 2.2em |
25pt | 34px | 2.125em | |
小一 | 24pt | 32px | 2em |
二号 | 22pt | 29px | 1.8em |
20pt | 26px | 1.6em | |
小二 | 18pt | 24px | 1.5em |
17pt | 23px | 1.45em | |
三号 | 16pt | 22px | 1.4em |
小三 | 15pt | 21px | 1.3em |
14.5pt | 20px | 1.25em | |
四号 | 14pt | 19px | 1.2em |
13.5pt | 18px | 1.125em | |
13pt | 17px | 1.05em | |
小四 | 12pt | 16px | 1em |
11pt | 15px | 0.95em | |
五号 | 10.5pt | 14px | 0.875em |
10pt | 13px | 0.8em | |
小五 | 9pt | 12px | 0.75em |
8pt | 11px | 0.7em | |
六号 | 7.5pt | 10px | 0.625em |
7pt | 9px | 0.55em | |
小六 | 6.5pt | 8px | 0.5em |
七号 | 5.5pt | 7px | 0.4375em |
八号 | 5pt | 6px | 0.375em |