第一种方案是lib-flexible+postcss-pxtorem,在相当长一段时间里,这两个插件搭配都是解决移动端布局的神器,lib-flexible是阿里手淘系开源的一个库,用于设置font-size,同时处理一些窗口缩放的问题。其中一位主要贡献者正是阿里的大神winter。
移动端适配方案viewport单位越来越受到众多浏览器的支持插件postcss-px-to-viewport,将px单位自动转换成viewport单位.
安装 npm install postcss-px-to-viewport --save-dev
yarn add postcss-px-to-viewport -D
在项目根目录下创建postcss.config.js
module.exports = {
plugins: {
autoprefixer: {},
'postcss-px-to-viewport-opt': {
viewportWidth: 375, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
viewportHeight: 667, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数
viewportUnit: 'vw', // 指定需要转换成的视窗单位,建议使用vw
selectorBlackList: ['.ignore', '.hairlines'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
mediaQuery: false, // 允许在媒体查询中转换`px`
exclude: /(\/|\\)(node_modules)(\/|\\)/ // 忽略的文件转换
}
}
}