react中rem与postcss-pxtorem的应用

rem 布局

rem是根元素(html)中的font-size值。
rem布局不多赘述,有很多详细说明rem布局原理的资料。
简单的说,通过JS获取设备宽度动态设定rem值,以实现在不同宽度的页面中使用rem作为单位的元素自适应的效果。

  • 新建rem.ts文件,于main.ts中引用
/*
 * @Description:
 * @version:
 * @Author: 周凯
 * @Date: 2020-08-12 09:37:42
 * @LastEditors: 周凯
 * @LastEditTime: 2020-08-12 09:40:23
 */
// 根节点字体大小
const baseSize = 16;
// 页面宽度
const pageWidth = 1920;
//
// 设置rem函数
function setRem() {
  // 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / pageWidth;
  // 设置页面根节点字体大小
  document.documentElement.style.fontSize =
    baseSize * Math.min(scale, 2) + "px";
}

// 初始化
setRem();
// 改变窗口大小时重新设置rem
window.onresize = function () {
  setRem();
};

export default setRem;

postcss-pxtorem

postcss-pxtorem是PostCSS的插件,用于将像素单元生成rem单位。

安装

npm install postcss-pxtorem --save-dev

配置

postcss.config.js

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 12,
      minPixelValue: 2,
      propList: ['*'],
    }
  }
}
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页