vue+vant+postcss-pxtorem+amfe-flexible 实现移动端兼容

1. 前提 @vue/cli-service": "~4.5.0"   "vue": "^2.6.11",   "vant": "^2.10.2",

 

1.安装: 不安装lib-flexible 官网说已经停止更新建议安装amfe-flexible

 

npm i -S amfe-flexible

安装成功后 "amfe-flexible""^2.2.1" 此插件是根据设备更改根节点 fontsize大小

2. html  head  中添加

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
 
3. main.js 中添加
import ‘amfe-flexible‘;
 
安装成功后运行就可看出根节点像素更改了
 
vue+vant+postcss-pxtorem+amfe-flexible 实现移动端兼容

 

 

4. 安装postcss-pxtorem
 
npm install postcss-pxtorem@5.0.0 -D (亲测OK)
 
npm install postcss-pxtorem --save-dev (此命令安装版本报错 Error: PostCSS plugin postcss-pxtorem requires PostCSS 8)
 
5.根目录vue.config.js文件,添加如下配置:
css: {
    loaderOptions: {
      css: {},
      postcss: {
        plugins: [
          require("postcss-pxtorem")({
            // 把px单位换算成rem单位
            rootValue: 37.5, // 换算的基数(设计图750的根字体为75 vant框架基于37.5设计的)
            selectorBlackList: [‘van‘], // 忽略转换 - 正则匹配项
            propList: ["*"],
          }),
        ]
      }
    }
  }

 

vue+vant+postcss-pxtorem+amfe-flexible 实现移动端兼容

 

 

 

注意 ***  此插件 postcss-pxtorem 不能转换行内样式,只转换外部文件和.vue文件下方style里面的内容

             将小写px 写成大写 Px 或者PX 即不进行转换

 

如:

<style scoped lang="scss">
.home_page {
  width: 100%;
     标题颜色
    /deep/ .van-ellipsis {
        color: red;
     } 

    /deep/ .van-nav-bar .van-icon {
        color: red;
    }

    /deep/ .van-nav-bar__text {
        color: red;
    }
    /deep/.van-nav-bar__title{
        color: blue;
    }
    .answer_content{
        width: 355px;
        text-align: center;
        height: 60px;
        line-height: 60px;
        margin: 20px 10px;
        border:1Px solid red;  //此像素不转换
    }
}

 

vue+vant+postcss-pxtorem+amfe-flexible 实现移动端兼容

上一篇:Owin SelfHost Asp.net WebApi 遇到 No type was found that matches the controller named 'ControllerName' 异常的解决方案


下一篇:Android安卓SharedPreferences使用 增删改查