em 和 rem笔记

简单介绍

单位

在编写网页的过程中,需要对元素进行宽高、颜色、字体等的设置,这些需要使用单位
在css中,设置字体的宽高使用的单位可以一直,例如:
px / em / rem/...

rem的来源

rem是css3中的单位

和px的关系

px 是使用最多的单位
emrem 可以和 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标签的字体大小

remem不同点是,em参考自己的父元素,如果父元素没有设置字体大小,则继续向上查找,直到最后

rem 直接参照html标签的字体大小,只要修改html的字体大小,就可以影响全部使用 rem 单位的标签

html{
    font-size : 100px;
}
.title {
    width : 5rem ;  /*500px */
    height: 5rem ;  /*500px */
    font-size : .3rem ; /*30px */
}

在做响应式网站时,可以根据媒体查询,调节html标签的字体大小,实现共同调节其他标签的效果
使用媒体查询调节html字体大小,效果不够精细(大小是分段改变的) , 可以使用Javascript动态计算htmlfont-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

你可能感兴趣的:(em 和 rem笔记)