vant 配合vue 做移动端的自动适配(amfe-flexible & postcss-pxtorem)

 环境vue-cli3 , "vant": "^2.12.2","vue": "^2.6.11"

Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具:

postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem
lib-flexible 用于设置 rem 基准值

 

1.下载npm依赖

npm install postcss-pxtorem --save-dev
npm i -S amfe-flexible

 

2.在根目录修改postcss.config.js文件配置(如果没有自己需要在根目录下新建postcss.config.js)

 

转换vant,设置rootValue:37.5

module.exports = {
    plugins: {
        autoprefixer: {
            overrideBrowserslist: ['Android >= 4.0', 'iOS >= 8'],
        },
        // px转换成rem
        'postcss-pxtorem': {
            // vant-UI的官方根字体大小是37.5
            rootValue: 37.5,
            propList: ['*'],
        },
    },
};

 

 

不转换vant

module.exports = {
    plugins: {
        autoprefixer: {
            overrideBrowserslist: ['Android >= 4.0', 'iOS >= 8'],
        },
        // px转换成rem
        'postcss-pxtorem': {
            // 设计图页面尺寸如果是750就填75,是640就填入64
            rootValue: 75,
            propList: ['*'],
            // vant不转化 vant-UI的官方根字体大小是37.5
            selectorBlackList:['van']  
        },
    },
};

 

 

3.在main.js引入需要计算rem的libflexible文件

  import "amfe-flexible";

 

4.重启服务

 

5.布局按照设计图px布局 然后就会自动计算rem的值

.test-box {
  width: 375px; // 会自动转化为10rem 铺满整个屏幕
  height: 500px;
  font-size: 32px;
  background: red;
}

 

posted @ 2021-01-07 17:02  泠风lj  阅读(1033)  评论(0编辑  收藏  举报