vue移动端适配(两种方案)

一.vw 方案(推荐)

1.安装依赖

npm i -D postcss-px2vp

2.然后在项目根目录创建 postcss.config.js 文件:

module.exports = {plugins: {'postcss-px2vp': {viewportWidth(rule) { // 1. 如果设计稿宽度是750px + 使用Vantconst file = rule.source?.input.filereturn file?.includes('vant') ? 375 : 750;},// viewportWidth: 750, // 2.如果设计稿宽度是 750px + 不适用Vant// viewportWidth: 375, // 3.如果设计稿宽度是 375px + 无论是否使用VantpropList: ['*','!font*','!line-height','!letter-spacing'],},},
};
这个文件会被自执行

说明:

        使用 postcss-px2vp,而不是 postcss-px-to-viewport,是因为后者:

                不支持设置动态 viewportWidth ,就无法同时支持宽度是 750px 的设计搞 + Vant

                不支持 PostCSS 8

        Vant 的设计稿宽度是 375px,但我们的设计稿宽度大多是 750px

        字体不转换,保持 px 单位

二、rem 方案

yarn add amfe-flexible
或者使用
npm i amfe-flexible

然后在项目根目录中创建 postcss.config.js 文件:

module.exports = {plugins: {// postcss-pxtorem 插件的版本需要 >= 5.0.0
// 适用版本 5.1.1// yarn add -D postcss-pxtorem@5.1.1// npm install postcss-pxtorem@5.1.1 -D'postcss-pxtorem': {rootValue({ file }) { // 如果设计稿宽度是 750px + Vant// 判断是否是vant的文件 如果是就使用 37.5为根节点字体大小// 否则使用75 因为vant使用的设计标准为375 但是市场现在的主流设置尺寸是750return file.indexOf('vant') !== -1 ? 37.5 : 75;},// rootValue: 75, // 2.如果设计稿宽度是 750px + 不适用Vant// rootValue: 37.5, // 3.如果设计稿宽度是 375px + 无论是否使用Vant// 配置哪些文件中的尺寸需要转化为rem *表示所有的都要转化propList: ['*','!font*','!line-height','!letter-spacing'],},},
};
这个文件会被自执行

说明: 

        1. amfe-flexible 设置 rem 的基准值(即)

        2. postcss-pxtorem 是一个 PostCSS 插件,将 px 转为 rem


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部