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使用vant中的checkbox实现全选功能
Nov 17 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
vuex的使用步骤
Jan 06 Vue.js
vue 页面跳转的实现方式
Jan 12 Vue.js
vue穿梭框实现上下移动
Jan 29 Vue.js
详解Vue的七种传值方式
Feb 08 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
springboot+VUE实现登录注册
May 27 Vue.js
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
vue生命周期钩子函数以及触发时机
Apr 26 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
笑谈配置,使用Smarty技术
2007/01/04 PHP
php获取参数的几种方法总结
2014/02/18 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
判断脚本加载是否完成的方法
2009/05/26 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
玩转vue的slot内容分发
2018/09/22 Javascript
vue多次循环操作示例
2019/02/08 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
Python中str.format()详解
2017/03/12 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
Linux文件系统类型
2012/09/16 面试题
电话销售经理岗位职责
2013/12/07 职场文书
股权收购意向书
2014/04/01 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
协议书范文
2015/01/27 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server