美文网首页Web 前端开发 让前端飞技术干货
2017.12.5-学习笔记:简易rem布局的js代码

2017.12.5-学习笔记:简易rem布局的js代码

作者: bixin | 来源:发表于2017-12-05 21:14 被阅读65次

rem

rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高。
  • 利用rem这个单位去控制所有的盒子的大小,然后动态去改变html的font-size的值
  • rem的公式:设计图的大小/自己基于这个设计图设定font-size值(推荐40) = 这个屏幕的大小/这个屏幕对应的font-size值
  • 反求rem: 在设计图下面得到的元素宽高 / 基于这个设计图设定的 font-size值
  • 建议: 使用rem宜小不宜大,尽量使用固定+自适应,少用盒子与盒子之间浮动
// 千万注意:不要添加入口函数
// 同时引用的时候要放在最前面

// 获取 HTML 元素
let html = document.documentElement;
// 获取屏幕的宽度
let screenWidth = html.clientWidth;
let timer = null;
// 初始的设计图的大小

let uiWidth = 640;
// 初始的font-size的大小
let fonts = 40;
// 获取初始的比例
let rate = uiWidth / fonts;
// 根据当前的屏幕大小动态去计算这个屏幕所对应font-size值
html.style.fontSize = screenWidth / rate + 'px';

let getSize = () => {
  clearTimeout(timer);
  timer = setTimeout(() => {
    //重新获取屏幕的宽度
    screenWidth = html.clientWidth;
    //针对屏幕宽度做限定
    if (screenWidth <= 320) {
      html.style.fontSize = 320 / rate + 'px';
    } else if (screenWidth >= uiWidth) {
      html.style.fontSize = uiWidth / rate + 'px';
    } else {
      // 根据当前屏幕大小动态去计算这个屏幕锁对应font-size的值
      html.style.fontSize = screenWidth / rate + 'px';
    }
  }, 100);
}

getSize();
window.addEventListener("resize", getSize);




Knowledge changes the mind

相关文章

  • 2017.12.5-学习笔记:简易rem布局的js代码

    rem rem是相对于根元素,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高...

  • rem布局

    这个可以适配rem布局的JS代码

  • h5自适应布局

    首先贴出js原生自适应布局的代码: 这是rem布局的核心代码。 什么是rem?rem是个低调的css单位,手淘在移...

  • 移动端兼容布局的修改完善

    移动端自适应布局的两种方式 1、 rem+js scss 代码 js 代码 (在head引入) 写scss的时候...

  • 移动端兼容

    rem与px的转换 flexible.js 布局详解 rem自适应布局的回顾总结 flexible.js如何实现r...

  • 笔记-rem布局js版

    rem 布局非常简单,首页你只需在页面引入这段原生 JS代码 就可以了 (function (doc, win) ...

  • css-进阶-css开发技巧-Layout Skill:布局技巧

    Layout Skill 使用vw定制rem自适应布局 要点:移动端使用rem布局需要通过JS设置不同屏幕宽高比的...

  • 前端Bug解决指南

    // css //js rem布局代码 font-size:恒定值为100px 1,如何清除图片下方出现几像素的空...

  • 移动端、PC端屏幕适配

    移动端适配 页面引入ydui.flexible.js页面布局采用rem布局rem计算方式:设计图尺寸px / 10...

  • 13 - vue 移动端适配

    一、方法一:rem 布局 在主入口:index.html, 标签内添加如下JS 代码:(实现在标准 375px宽...

网友评论

本文标题:2017.12.5-学习笔记:简易rem布局的js代码

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