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
vue3.0实现插件封装
Dec 14 Vue.js
vue 通过base64实现图片下载功能
Dec 19 Vue.js
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
vue中如何添加百度统计代码
Dec 19 Vue.js
Vue.extend 登录注册模态框的实现
Dec 29 Vue.js
vue+element UI实现树形表格
Dec 29 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
如何让vue长列表快速加载
Mar 29 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 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
VOLVO车载收音机
2021/03/02 无线电
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
python输入中文的实例方法
2020/09/14 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
个人自我鉴定怎么写
2013/10/28 职场文书
中学生期末评语
2014/02/03 职场文书
科级干部考察材料
2014/02/15 职场文书
百家讲坛观后感
2015/06/12 职场文书
信息技术国培研修日志
2015/11/13 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL