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