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实现简单购物车功能
Dec 13 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
vue 实现上传组件
May 31 Vue.js
vue实现锚点定位功能
Jun 29 Vue.js
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 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 中的类
2006/10/09 PHP
zend framework多模块多布局配置
2011/02/26 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
node 文件上传接口的转发的实现
2019/09/23 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
python和C语言混合编程实例
2014/06/04 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python多进程原理与用法分析
2018/08/21 Python
python+opencv实现阈值分割
2018/12/26 Python
Python理解递归的方法总结
2019/01/28 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
Python交互式图形编程的实现
2019/07/25 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
工程技术员岗位职责
2014/03/02 职场文书
公司聘任书模板
2014/03/29 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
微信小程序调用python模型
2022/04/21 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS
Vue Element plus使用方法梳理
2022/12/24 Vue.js