em 和 rem 笔记

简单介绍

单位

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

rem来源

rem 是 CSS3中的单位

rem和 px 的关系

px是使用最多的单位。
em 和 rem 可以和px;
具体换算规则:1em = 16px;

建议

在做移动端项目时,建议网页使用rem作为单位;
可以方便、快捷、容易的实现响应式效果

em详细说明

em参照父级元素大小

如果父元素font-size:20px,给子元素设置字体:font-size:1em,子元素的font-size就是20px大小

示例:

  • 如果 1em = 20px;
  • 2em = 40px;
  • 2.5em = 30px;
  • 0.5em = 10px;

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

rem详细说明

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

rem和em的不同:

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

代码示例

html{
  font-size:100px;
}
div{
  font-size:0.2rem; // 20px
}

> 在做响应式布局是,可以根据媒体查询去调节`html`标签内的字体大小,实现共同调节其他标签大小的效果;
> 使用媒体查询调节`html`字体大小,效果不够精细(大小是分段改变的);可以使用Javascript动态计算`html的font-size`;
**代码示例**
(function(window){
  var winW = document.documentElement.clientWidth || document.body.clientWidth;
  document.documentElement.style.fontSize = winW / 10 + "px";
  window.onresize = function(){
      var winW = document.documentElement.clientWidth || document.body.clientWidth;
  document.documentElement.style.fontSize = winW / 10 + "px";
  
  }
})(window)


## 使用注意点
在rem使用过程中,要时刻注意`字体最小12px`的问题;
如果设置`html的font-size`属性的时候,`最好不要小于12px`;
如果设置了`html的font-size=10px`,使用`1rem`的时候,`其实就是 1rem = 12px`;

** 设置字体缩小**
网页默认字体最小像素为12px,如果想实现字体缩小:
1.transform:scale(0.1);
2.使用图片替代;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.简单介绍 1.1单位 在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体等的设置,这些需要使用单位。 :...
    予以暖杀风阅读 239评论 0 0
  • em 和 rem 笔记 简单介绍 单位 在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体等的设置,这些需要...
    wangpeijing阅读 204评论 0 1
  • 简单介绍 单位 在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体等的设置,这些需要使用单位。在CSS中,设...
    李大泽阅读 478评论 2 4
  • 简单介绍 单位 在编写网页的过程中,需要对元素进行宽高、颜色、字体等的设置,这些需要使用单位在css中,设置字体的...
    misterfet阅读 219评论 0 0
  • 简单介绍 单位 在编写网页过程中,需要对元素(标签)进行宽高,颜色、字体等的设置,这些需要使用单位。 在CSS中,...
    Rubycui阅读 152评论 0 0