美文网首页
em和rem的认识与总结

em和rem的认识与总结

作者: 偷故事的人l | 来源:发表于2016-12-02 09:56 被阅读0次

    ##简单介绍

    ###单位

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

    在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)

    ---

    相关文章

      网友评论

          本文标题:em和rem的认识与总结

          本文链接:https://www.haomeiwen.com/subject/hzbfmttx.html