vue适配

一、PC端

        注:因为有些部门或者公司采用台式电脑,因使用年限不一,导致电脑分辨率不一

vue版本:2.6.11

使用插件及其版本:

lib-flexible:0.3.2

postcss-px2rem:0.3.0

1、需修改内容:

        找到node_modules/lib-flexible/flexible.js下refreshRem函数,

        width = 540 * dpr;注释改为width = width * dpr;

function refreshRem(){
        var width = docEl.getBoundingClientRect().width;
        if (width / dpr > 540) {
            //width = 540 * dpr;
            width = width * dpr;
        }
        var rem = width / 10;
        docEl.style.fontSize = rem + 'px';
        flexible.rem = win.rem = rem;
    }

2、配置vue.config.js

         找到vue.config.js如没有,需创建

module.exports = {
	lintOnSave: false,
	css: {
		loaderOptions: {
			css: {},
			postcss: {
				plugins: [
					require("postcss-px2rem")({
						remUnit: 192  // 如果设计稿是1920 这⾥就是192
					})
				]
			}
		}
	}
}

二、移动端

        注:移动端适配方案很多,只写自己用得一种(适配vant)

vue版本:2.6.11

使用插件及其版本:

postcss-px-to-viewport:1.1.1

在根目录新建.postcssrc.js文件

const path = require('path');

module.exports = ({ file }) => {
  const designWidth = file.dirname.includes(path.join('node_modules', 'vant')) ? 375 : 750;

  return {
    plugins: {
      autoprefixer: {},
      "postcss-px-to-viewport": {
        unitToConvert: 'px',  // 需要转换的单位,默认为"px"
        viewportWidth: designWidth, //  设计稿的视口宽度
        unitPrecision: 5, // 单位转换后保留的精度
        propList: ['*'], // 能转化为vw的属性列表
        viewportUnit: 'vw', //  希望使用的视口单位
        fontViewportUnit: 'vw', // 字体使用的视口单位
        selectorBlackList: [], // 需要忽略的CSS选择器 '.el','el'
        minPixelValue: 1, // 最小的转换数值,如果为1的话,只有大于1的值会被转换
        mediaQuery: false, // 媒体查询里的单位是否需要转换单位
        replace: true, // 是否直接更换属性值,而不添加备用属性
        exclude: [], // 忽略某些文件夹下的文件或特定文件
        include: undefined,  // 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件 (include: /\/src\/mobile\//)
        landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
        landscapeUnit: 'vw' // 横屏时使用的单位
      },
    }
  }

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值