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 19 Vue.js
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
Vue实现点击当前行变色
Dec 14 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
如何封装Vue Element的table表格组件
Feb 06 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue实现列表垂直无缝滚动
Apr 08 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
vue实现简易音乐播放器
Aug 14 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
php微信开发之百度天气预报
2016/11/18 PHP
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
js获取url传值的方法
2015/12/18 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
Django缓存Cache使用详解
2020/11/30 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
什么时候需要进行强制类型转换
2016/09/03 面试题
汽车专业学生自我评价
2014/01/19 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
法律进社区实施方案
2014/03/21 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
小学运动会入场口号
2015/12/24 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL