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: ['*'],
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值