px是相对单位,相对于当前设备的分辨率
绝对单位是1cm 1m...
em是相对单位,相对于当前元素的字体大小而言
font-size:28px 则1em=28px(默认1em=16px)
rem是相对单位,相对于html元素的字体大小而言
默认1rem = 16px
例题
关于以下代码解析正确的是( )。
<body>
<div class="parent">
<div class="child"></div>
</div>
</body>
.parent{
font-size: 2rem;
width: 20em;
height: 200px;
}
.child{
font-size: 2em;
width: 20rem;
height: 200px;
}
A. parent的宽度为 320px
B. parent的字体大小为 32px
C. child的字体大小为 32px
D. child的宽度为320px
解析:
parent的字体大小为2rem,rem是相对于html字体大小而言,html元素字体大小默认为16px,则parent的字体大小为2*16px=32px,所以B是正确的。
parent的宽度是20em,em相对于当前元素字体大小而言,parent字体大小为32px,所以parent的宽度为20*32px=640px,所以A是错误的。
子元素会继承父元素的字体大小,所以child字体大小2em,em相对于当前元素字体大小而言,所以子元素的字体大小为2*32px=64px,所以C是错误的。
child的宽度为20rem,rem是相对于html字体大小而言,html元素字体大小默认为16px,则child的宽度为20*16px=320px,所以D是正确的
所以此题选BD