关于px
px表示像素 (计算机屏幕上的一个点:1px = 1/96in),是绝对单位 ,不会因为其他元素的尺寸变化而变化
关于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作为单位就行了。
em有如下特点:
1、em的值并不是固定的;
2、em会继承父级元素的字体大小。
所以我们在写CSS的时候,需要注意两点:
1、body选择器中声明Font-size=62.5%;
2、将你的原来的px数值除以10,然后换上em作为单位;
3、重新计算那些被放大的字体的em数值。避免字体大小的重复声明。
也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合1em=16px。
在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px;12px就等于1.2em
关于rem
css3新增了相对单位 rem (IE8及以下不支持该单位),使用rem同em一样皆为相对字体大小单位,不同的是rem相对的是HTML根元素.
常见的用法:
html {font-size: 62.5%;/10 ÷ 16 × 100% = 62.5%/}
body {font-size: 1.4rem;/1.4 × 10px = 14px /}
h1 { font-size: 2.4rem;/2.4 × 10px = 24px/}