em和rem的认识与总结

##简单介绍

###单位

在编写网页过程中,需要对元素(标签)进行宽高、颜色、字体等的设置,这些需要使用单位。

在css中,设置字体和宽高使用的单位可以一致,例如:`px`/`em`/`rem`/...

###rem来源

>rem是CSS3中的单位

###和px的关系

`px`是使用最多的单位。

em和rem可以合px单位进行换算,就如`克和千克`之间可以换算一样

具体换算规则,在下面详细说明。

###建议

>在做移动端项目时,建议使用`rem`作为单位

>可以方便、快捷、容易的实现响应式效果

##em详细说明

>em参照父级元素大小

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

**示例**:

* 设定 1em =20px

* 2em =40xp

* 2.5em =50px

* 0.5em 10px

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

##rem详细说明

>rem参考的是html标签字体大小

rem和em不同点就是em参考各自父元素,如果父元素没有设置字体大小,则继续向上查找(父父元素),直至最后;

rem直接参照html标签字体大小,并且是所有使用rem单位的都是参照html标签

``` CSS

html{

foont-size:100px

}

.title{

width:5rem;/*500px*/

height:5rem;/*500px*/

font-size:.3rem;/*30px*/

}

```

>在做响应式网址时,可以根据媒体查询去调节`html`标签的字体大小,实现共同调节其他标签大小的效果

>使用媒体查询调节`html`字体大小,效果不够精细(大小是分段改变的),可以使用JavaScrupt动态就算`html的font-size`

`document.documentElement.style.fontSize = innerWidth/10+"px";

window.onresize =function(){

document.documentElement.style.fontSize = innerWidth /10+"px";

}`

>(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`

如果设置了`10px`,使用`1rem`的时候,`其实就是12px,因为最小2px`

#缩放: transform:scale(0.5)

---

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单介绍 单位 在编写网页过程中,需要对元素(标签)进行宽高、颜色。字体等的设置,这些需要使用单位。在CSS中,设...
    立早人青小超人阅读 553评论 0 0
  • 作者:HelKyle链接:http://www.w3cplus.com/css/when-to-use-em-vs...
    红叶丶秋鸣阅读 3,322评论 0 3
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,845评论 1 92
  • # 关于rem和em的区别 ### rem > rem:`表示根元素的字体大小`(通常为``) > ##### 下...
    1910阅读 307评论 0 0
  • 了解真实的『REM』手机屏幕适配rem 作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用。 使用...
    张宪宇阅读 2,295评论 0 5