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: ['*'],
}
}
}