em 和 rem 笔记
简单介绍
单位
在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体等的设置,这些需要使用单位。
在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 = 40px
- 2.5em = 50px
- 0.5em = 10px
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:.3rem; /*30px*/
}
在做响应式网址时,可以根据媒体查询去调节
html
标签字体大小,实现共同调节其他变迁大小的效果
使用媒体查询去调节html
标签字体大小,效果不够精细(大小都是分段改变的),可以使用javascrit动态计算html
的font-size
使用注意点
在rem 使用过程中,要时刻注意字体最小12px
的问题
设置html
的font-size
属性的时候,最好不要小于12px
如果设置了10px
,使用1rem
的时候,其实就是12排序,因为最小12px