Libon

移动端适配 px to vm

1 分钟 #CSS#postcss
移动端单位适配, 由 px 转换到 vw/vh

ToC

1
module.exports = ({ webpack }) => {
2
// 兼容第三方组件库的移动端样式配置, 比如 vant, vant 的设计稿是以 375 来的, 如果我们的设计稿是750 则需要做这部分处理
3
const viewWidth = webpack.resourcePath.includes(
4
path.join("node_modules", "vant")
5
)
6
? 375
7
: 750;
8
9
return {
16 collapsed lines
10
plugins: {
11
"postcss-px-to-viewport": {
12
unitToConvert: "px", // 要转化的单位
13
viewportWidth: viewWidth, // UI设计稿的宽度
14
unitPrecision: 6, // 转换后的精度,即小数点位数
15
propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
16
viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw
17
fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw selectorBlackList: ["wrap"], // 指定不转换为视窗单位的类名,
18
minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
19
mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
20
replace: true, // 是否转换后直接更换属性值
21
exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
22
},
23
},
24
};
25
};

CD ..