vue postcss-px2rem 自适应布局


Posted in Vue.js onMay 15, 2022

首先,我们来了解一下lib-flexible和amfe-flexible:
lib-flexible是淘宝项目组开发出来的一个开源插件,会自动在html的head中添加一个meta name="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size。而amfe-flexible是lib-flexible的升级版,所以现在我就只使用amfe-flexible了。
与其搭配的postcss-px2rem(pxtorem)作用为把px转变为rem
1.下载amfe-flexible: cnpm install postcss-px2rem -S
2.下载postcss-px2rem: cnpm install postcss-px2rem -S
小tip:使用yarn下载不了

未免兼容麻烦,我这里指定了版本

vue postcss-px2rem 自适应布局

3.在main.js里引入amfe-felxible

import 'amfe-flexible'

3.在vue.config.js文件里面配置postcss

我下载的vue-cli3,配置如下

module.exports = {
css: {
    loaderOptions: {
      css: {},
      postcss: {
        plugins: [
          require('postcss-px2rem')({
            remUnit: 37.5
          })
        ]
      }
    }
  }
}

vue-cli2配置则为

module.exports = {
  "plugins": {
    "postcss-import": {},
    "postcss-url": {},
    // to edit target browsers: use "browserslist" field in package.json
    "autoprefixer": {},
    "postcss-pxtorem": { // 此处为添加部分
      rootValue: 100, // 换算基数,默认100,把根标签的font-size规定为1rem为50px,在设计稿上量出多少px直接在代码中写多少px
      unitPrecision: 5,  //保留rem小数点多少位
      propList: ['*', '!border', '!font-size'], //  存储将被转换的属性列表,'!font-size' 即不对字体进行rem转换
      selectorBlackList: ['.radius'], // 要忽略并保留为px的选择器,例如fs-xl类名,里面有关px的样式将不被转换,支持正则写法。
      replace: true,
      mediaQuery: false,//(布尔值)媒体查询( @media screen 之类的)中不生效
      minPixelValue: 12,///设置要替换的最小像素值,px小于12的不会被转换
      //propWhiteList: [],  //默认值是一个空数组,这意味着禁用白名单并启用所有属性
      propBlackList: ['font-size'], //黑名单
    }
  }
}

参考:

https://blog.csdn.net/weixin_44388523/article/details/90445885

https://blog.csdn.net/qq_42031498/article/details/106054343

https://github.com/cuth/postcss-pxtorem

https://github.com/mrsunx/lib-flexible#readme

到此这篇关于vue自适应布局(postcss-px2rem)的文章就介绍到这了,更多相关vue自适应布局内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Vue.js 相关文章推荐
浅析VUE防抖与节流
Nov 24 Vue.js
vue element实现表格合并行数据
Nov 30 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
vue实现简易计算器功能
Jan 20 Vue.js
详解实现vue的数据响应式原理
Jan 20 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
Vue实现动态查询规则生成组件
May 27 Vue.js
vue3中provide && inject的使用
Jul 01 Vue.js
Vue提供的三种调试方式你知道吗
Jan 18 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
vue使用watch监听属性变化
Apr 30 #Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
vue项目如何打包之项目打包优化(让打包的js文件变小)
关于vue-router-link选择样式设置
Apr 30 #Vue.js
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 #Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 #Vue.js
You might like
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
php流量统计功能的实现代码
2012/09/29 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
Prototype String对象 学习
2009/07/19 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
vue地区选择组件教程详解
2018/05/04 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
python输出决策树图形的例子
2019/08/09 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Django如何使用redis作为缓存
2020/05/21 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
内衣营销方案
2014/03/15 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
投诉信回复范文
2015/07/03 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android