简单介绍
单位
在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体的设置、这些需要使用单位。
在css中,设置字体和宽高使用的单位可以一致,例如:px
/ me
/ rem
rem来源
rem是CSS3中的单位
和px的关系
px
是使用最多的单位。
em和rem可以和px单位进行换算,就比如 克和千克
之间可以换算一样。
具体换算规则,在下面详细说明。
建议
在做移动端项目的时候,建议用
rem
作为单位
可以方便、快捷、容易的实现响应式布局
em详细介绍
em是参照父级元素大小进行设置
如果父元素font-size:20px
,给子元素设置字体font-size:1em;
,子元素其实就是20px
的大小。给子元素设置字体font-size:0.5em
,子元素便是10px
的大小。
示例:
- 设定1em = 20px
- 2em = 40px
- 2.5em = 50px
em
适合的使用场景是:text-indent
首行缩进/line-height
rem详细说明
rem
参考的是html
标签字体大小
rem
和em
不同点就是em
参考各自的父元素,如果父元素没有设置字体大小,则继续向上查找(父父元素),直到最后
rem直接参照html标签字体大小,并且是所有使用rem
单位的都是参照html标签
所以只需要更改html
标签字体大小,就可以影响全部使用rem
单位的标签
示例代码:
html{
font-size:100px;
}
.title{
width:5rem;/*500px*/
height:5rem;/*500px*/
font-size:0.3rem;/*30px*/
}
在做响应式网站时,可以更具媒体查询去调节
html
标签的字体大小,实现共同调节其他标签大小的效果
使用媒体查询调节html
字体大小,效果不够精细(大小是分段改变的),可以使用javascript动态计算html的font-size
使用注意点
在rem使用过程中,要时刻注意字体最小12px
的问题,设置html的font-size
属性时候,最好不要小于12px
,如果设置font-size:10px
,元素在使用1rem
的时候,其实是12px