响应式布局

rem是什么?

  rem是一个长度单位,常用的长度单位有:

  * px: 绝对长度单位,最常用

  * em: 相对长对单位,相对于父元素,不常用

  * rem: 相对长度单位,相对于根元素,常用于响应式布局

  * vw: 视口宽度, 100vw = 可视窗口的宽度

  * vh: 视口高度,100vh = 可视窗口的高度

  * vmin:选取vm和vh最小的那个

  * vmax:选取vm和vh最大的那个

响应式布局的常用方案:

  * media-query ,根据不同的屏幕宽度设置根元素 font-size  (现在已不常用)

   * rem ,基于根元素的相对单位 (大多网站采用此方案)

使用rem实现响应式布局:

  使用js判断页面宽度,动态调整根元素html的font-size值。具体代码实现如下

/**
 * created by yangkk
 */
(function(doc,win){
    var flex = function() {
        var docEl = doc.documentElement;
        var deviceWidth = docEl.clientWidth > 500 ? 500 : docEl.clientWidth;
        docEl.style.fontSize = deviceWidth / 7.5 + "px";//如果设计图是320的话就除以3.2
    };
    flex();
    win.addEventListener('resize', flex, false);
})(document,window);

 

posted @ 2019-08-13 18:34  yangkangkang  阅读(493)  评论(0编辑  收藏  举报