响应式布局

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 @   yangkangkang  阅读(494)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示