em和rem笔记

标签(空格分隔): 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=40px
  • 设置2.5em=50px
  • 设置0.5em=10px

em合适的使用场景是text-indent(首行缩进)/line-height(行高)

rem详细说明

rem参照的是html标签字体的大小

remem不同点就是em参考各自的父元素,如果父元素没有设置字体大小,则继续向上查找(父父元素),直至最后。
rem直接参照html标签字体大小,并且是所有使用rem单位的都是参照html标签
所以只需要更改html标签字体的大小,就可以影响全部使用rem单位的标签
代码示例

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

在做响应式网页时,可以根据媒体查询去调节html标签的字体大小,实现共同调节其他标签大小的效果。
使用媒体查询调节html字体大小,效果不够精细(大小是分段改变的),可以使用JavaScript动态计算htmlfont-size.

使用注意点

rem使用过程中,要时刻注意字体最小12px的问题
设置htmlfont-size属性时候,最好不要小于12px

如果设置了10px,使用1rem时,其实是12px,因为最小值是12px

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