简单介绍
单位
在编写网页的过程中,需要对元素进行宽高、颜色、字体等的设置,这些需要使用单位
在css中,设置字体的宽高使用的单位可以一直,例如:
px
/ em
/ rem
/...
rem的来源
rem是css3中的单位
和px的关系
px
是使用最多的单位
em
和 rem
可以和 px
进行换算
建议
在做移动端的项目时候,建议使用
rem
作为单位
可以方便、快捷、容易的实现响应式效果
em详细说明
em 是参照父级大小
如果父元素font-size : 20px
给子元素设置字体font-size : 1em
那么子元素其实就是 20px
实例:
- 如果1em = 20px
- 2em = 20px;
- 2.5em = 50px;
em
合适的使用场景是: text-indent(首行缩进) / line-height(行高)
rem详细说明
rem详细说明
rem参照的是html标签的字体大小
rem
和 em
不同点是,em
参考自己的父元素,如果父元素没有设置字体大小,则继续向上查找,直到最后
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
值,也就是使用 window.innerWidth / 10 + 'px'
html:font-size = window.innerWidth / 10 + 'px';
window.onresize = function (){
html:font-size = window.innerWidth / 10 + 'px';
}
使用注意点
在rem使用过程中要时刻注意 字体最小是 12px
的问题,设置 html
的font-size 属性时,最好不要小于 12px
,如果小于12px ,则默认为12px.
如果设置了 font-size : 10px ; 则其实 1rem = 12px