1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue工程px转rem postcss-px2rem插件的使用 移动端适配方案

vue工程px转rem postcss-px2rem插件的使用 移动端适配方案

时间:2020-04-10 22:22:47

相关推荐

vue工程px转rem postcss-px2rem插件的使用 移动端适配方案

vue工程实现px转rem

使用px单位在不同宽高比设备上显示样式比例有差异,rem是相对于根元素,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高。可以使用rem实现自适应。

postcss-px2rem:是可以将代码中px自动转化成对应的rem的一个插件.

先安装插件

npm i postcss-px2rem --save -dev

在postcss.config.js中添加配置

module.exports = {"plugins": {"postcss-import": {},"postcss-url": {},// to edit target browsers: use "browserslist" field in package.json"autoprefixer": {"browsers": ['last 10 Chrome versions', 'last 5 Firefox versions', 'Safari >= 8']},// 1rem = 20px'postcss-px2rem':{'remUnit':20} //配置rem基准值,75是iphone6标准}}

然后再新建一个js文件 setRem.js 这个可以实现在分模块打包的情况下针对每一个模块 配置不同的remSize来实现不同的模块有不同的转换基数。

export default function setRemInit(baseWidth = 750) {// baseSize 是用来设置html font-size的大小 。function setRem(){const dpr = window.devicePixelRatio;//当前显示设备的物理像素分辨率与CSS像素分辨率之比。const currentWidth = document.documentElement.clientWidth;let remSize = 0;let scale = 0;let baseSize = 20; // 1rem = 20pxscale = currentWidth / baseWidth; // 当前页面宽度相对于 750 px(设计稿尺寸)的缩放比例,可根据自己需要修改。remSize = baseWidth / baseSize; remSize = remSize * scale; document.documentElement.style.fontSize = remSize + 'px'; // 设置页面根节点字体大小document.documentElement.setAttribute('data-dpr', `${dpr}`);}// 初始化setRem();// 改变窗口大小时重新设置 remwindow.addEventListener('resize', setRem);}

在对应模块index.js引用新增的js

import setRemInit from '@/plugins/setRem' ///remsetRemInit()

over

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。