CSS中的那点事儿(一)--- CSS中的单位2

在上篇博客提到了%、px、em三个单位,其中最复杂的是em,由于要计算当前元素内的font-size,必须知道其父元素的font-size,层层累积,容易出错。如今CSS3中引入了新的单位rem,改变了这一现状。html

rem

rem, 官方说法:根元素的font-size。官方此次说得很明白,rem是相对于根元素html来计算的,根当前元素的直接父元素无关,只要在html设置font-size就能够了,默认为1rem=16px。下面再看个例子:web

.container{
width: 80%;
height: 10em;
padding: 1em;
background-color: #228F45;
font-size: 1.5rem;
}
.child{
width: 50%;
height: 5em;
background-color: #D5DED8;
padding: 0.8em;
font-size: 0.8rem;
}

html下1rem=16px,container下font-size=1.5*16=24px,1em=24px,height=24*10=240px,child下font-size=0.8*16=12.8px,1em=12.8px,height=12.8*5=64px。固然IE8及更低版本的IE是不支持rem的,所以在考虑到兼容性的时候,能够用px来hack。bootstrap

其余

其余的单位in、cm、mm、pt、pc都是绝对单位,这些单位在web上用得比较少,与px间的换算关系以下
1in = 2.54cm = 25.4 mm = 72pt = 6pc = 96px布局

总结

目前这些单位中应用比较普遍的是px,em,rem,%,如今很火爆的bootstrap比较多的用到了em,若是不用支持IE8,能够考虑用rem,搞清楚这些单位的状况,有利于在画面准备的布局。spa

相关文章
相关标签/搜索