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 @   泠风lj  阅读(1074)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示