IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue-移动端适配rem、vw、vh -> 正文阅读

[JavaScript知识库]Vue-移动端适配rem、vw、vh

一、移动端适配rem

1、安装lib-flexible

npm i lib-flexible --save

2、在main.js引入lib-flexible

// main.js
import 'lib-flexible/flexible'

3、安装postcss和postcss-pxtorem

npm install postcss postcss-pxtorem --save-dev

4、配置postcss-pxtorem

????????在根目录下的.postcssrc.js文件中修改为以下示例,若没有该文件则手动添加:

// .postcssrc.js
module.exports = {
    plugins: {
        "autoprefixer": {},
        "postcss-pxtorem": {
            rootValue: 37.5,
            propList: ['*']
        }
    }
}

5、其他设计稿尺寸

????????如果设计稿的尺寸不是 375,而是 750 或其他大小:

module.exports = {
    plugins: {
        "autoprefixer": {},
        "postcss-pxtorem": { 
            rootValue({ file }) {
                return file.indexOf('vant') !== -1 ? 37.5 : 75;
            },
            propList: ['*']
        }
    }
}

6、postcss-pxtorem参数说明

module.exports = {
    plugins: {
        "autoprefixer": {},
        "postcss-pxtorem": {
            rootValue: 100,  // 换算基数,默认100,规定根节点的font-size为1rem=100px,在设计稿上量出多少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'], // 黑名单
        }
    }
}

7、针对ipad 和 ipad pro 设备无效

????????在index.html中添加如下代码:

<script>
    /(pad|pod|iPad|iPod|iOS)/i.test(navigator.userAgent)&&(head=document.getElementsByTagName('head'),viewport=document.createElement('meta'),viewport.name='viewport',viewport.content='target-densitydpi=device-dpi, width=480px, user-scalable=no',head.length>0&&head[head.length-1].appendChild(viewport));
</script>

二、移动端适配vw、vh

1、安装postcss-px-to-viewport

npm install postcss-px-to-viewport --save-dev

2、配置postcss-px-to-viewport

????????在根目录下的.postcssrc.js文件中修改为以下示例,若没有该文件则手动添加:

// .postcssrc.js
module.exports = {
    plugins: {
        'postcss-px-to-viewport': {
            viewportWidth: 375,
        },
    },
};
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:14:27  更:2022-04-09 18:16:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:03:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码