前端架构之适配(postcss)

前端架构之适配(postcss)

postcss 是一个处理前端css的一个工具,里面有很多css插件供其使用,这里就说下适配的的方式

首先安装postCSS
npm i postcss-px-to-viewport -S
然后在根目录下创建一个文件夹.postcss.js或者.postcssrc.js,前者是看别人用的,后者是自己实践出来的

然后在其文件下配置

module.exports = {
  plugins: {
    autoprefixer: {},
    "postcss-px-to-viewport": {
      viewportWidth: 1920, // (Number) 设计图大小 自己按照实际情况配置下就行了
      viewportHeight: 1080, // (Number) 
      unitPrecision: 3, // (Number) 单位转换后保留的精度
      viewportUnit: "vw", // (String) 希望使用的视口单位
      selectorBlackList: [".ignore"], // 需要忽略转换的类名,比如这里是忽略转换  class为 ignore的盒子
      minPixelValue: 1, // (Number) 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
      mediaQuery: false // (Boolean) 媒体查询里的单位是否需要转换单位
    }
  }
};

在这里插入图片描述

在这里插入图片描述
100vw是100%

还有一种其他的方式就是使用

 useEffect(() => {
    resize();
    window.addEventListener('resize', resize);
    return () => {
      window.removeEventListener('resize', resize);
    };
  }, []);

  function resize() {
    const width = 1920,
      height = 1080;
    const innerWidth = window.innerWidth;
    const innerHeight = window.innerHeight;
    document.body.style.transform = `scale(${innerWidth / width}, ${innerHeight / height})`;
    document.body.style.transformOrigin = 'left top';
  }

vue可以进行改装
大致的适配要求就是把整个body看成一张图片,然后进行缩放

使用postcss-pxtorem进行适配

首先安装两个插件

npm i amfe-flexible
npm install postcss-pxtorem -D

然后在main文件下面加入

import 'amfe-flexible'

添加一个postcss.config.js文件

module.exports = {
    // 需要配置的相关插件
    plugins: {
      // 自动添加浏览器厂商声明前缀,用来兼容不同的浏览器
      // 因为Vue-CLI是通过项目中的.browserslistrc 文件来配置要兼容的环境信息的 所以我们这里并不需要
       autoprefixer: {
         browsers: ['Android >= 4.0', 'iOS >= 8']
       },
      // 把px转为rem
      'postcss-pxtorem': {
        // 转换的根元素的基准值
        // 正常去情下按照你的设计稿来
        // 750 宽的设计稿, 750 / 10 = 75
        // 370 宽的设计稿, 370 / 10 = 37.5
        rootValue: 37.5,
        // 需要转换的CSS属性,*就是所有属性都要转换
        propList: ['*']
      }
    }
  }

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜鸟学代码··

给打赏的我会单独一对一讲解

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值