关于rem的学习

作者: 银河网站登录  发布:2019-12-17

网页不可胜举单位px、em、rem;在那之中rem是css3新出的单位,官方网址是那般定义的:“font size of the root element”,意思是:相对长度单位,相对于根成分(即html成分)font-size总计值的翻番。

互连网检索了一些关于px和rem有什么区别的作品,大多数都以说rem在针对顾客使用浏览器缩放的时候有较好的心得,而px会在浏览器缩放的时候破坏大家网页原有的布局。可是通过本人自个儿的试验,开掘并不曾这几个标题;也正是说要是只是针对浏览器缩放来讲,用px和rem是从未怎么区别的;

后来在那边看见了这么的后生可畏段文字  >>链接地址:   注:此段转发自南门的后公园

bug 1:比方reset里并从未安装网址文字字号,所以笔者会在body里一贯写font-size:1.2rem,让漫天网页字号为12px。但在Android的Chrome里行不通,还是依据16px来测算并不是作者手动设置10px测算。所以要想给全部网页设置私下认可字号,最残酷的不二等秘书技就是一向在body里设置em大概px字号,举例body{font-size:1.2em}或然12px,推荐em。body直接接轨html的字号,能够间接完毕rem的功能。然后其余省方用rem是没难点的。

银河网站登录,bug 2:因为Chrome设置了非常的小字号为12px,招致假设在宽高、行高、边距等地点用rem,即使在html那设置了10px,但暗中同意照旧会遵照12px来计量,所以实际上会偏大。提议rem只是在字号上用相比较好。

到此,总算是弄驾驭了rem和px的区别之处

 

js动态计算rem值

/**
 * [以iPhone6的设计稿为例js动态设置文档 rem 值]
 * @param  {[type]} doc [文档元素]
 * @param  {[type]} win [window]
 * @return {[type]}     [description]
 */
(function(doc, win) {
    var docEl = doc.documentElement;
    var resizeEvent = 'orientationchange' in window ? 'orientationchange' : 'resize';
    var remcalc = function() {
        var clientWidth = docEl.clientWidth;
        var fontValue;
        if (!clientWidth) return;
        fontValue = ((62.5 * currClientWidth) / 375).toFixed(2);
        fontValue = fontValue > 106.67 ? 106.67 : fontValue;
        window.baseFontSize = fontValue;
        docEl.style.fontSize = baseFontSize + 'px';
    };
    if (!docEl.addEventListener) return;
    win.addEventListener(resizeEven, remcalc, false);
    doc.addEventListener('DOMContentLoaded', remcalc, false);
})(document, window);

 

本文由银河网站登录发布于银河网站登录,转载请注明出处:关于rem的学习

关键词:

上一篇:关键是谁买你呢
下一篇:没有了