vue实现移动端适配方案

2023-11-04

vue实现移动端适配步骤如下:

先安装amfe-flexible和postcss-pxtorem:

npm install amfe-flexible --save
npm install postcss-pxtorem --save

在main.js导入amfe-flexible

import 'amfe-flexible';

配置postcss-pxtorem,可在vue.config.js、.postcssrc.js、postcss.config.js其中之一配置,权重从左到右降低,没有则新建文件,只需要设置其中一个即可:
在vue.config.js配置如下:

		module.exports = {
		    //...其他配置
		    css: {
		        loaderOptions: {
		            postcss: {
		                plugins: [
		                    require('postcss-pxtorem')({
		                        rootValue: 37.5,
		                        propList: ['*']
		                    })
		                ]
		            },
                    sass: {
                        // 配置scss文件全局变量,没有分号会报错
                        data: `@import "@ui/common.scss";` // 旧版sass-loader写法(8.0以下)
                        // prependData: `@import "@ui/common.scss";` // 新版scss-loader(8.0及以上)
                    }
		        }
		    },
		}

在.postcssrc.js或postcss.config.js中配置如下:

		module.exports = {
		    "plugins": {
		        'postcss-pxtorem': {
		            rootValue: 37.5,
		            propList: ['*']
		        }
		    }
		}
  • rootValue根据设计稿宽度除以10进行设置,这边假设设计稿为375,即rootValue设为37.5;
  • propList是设置需要转换的属性,这边*为所有都进行转换。

测试结果:

css中设置某类宽度为375px:

	.content{
	  width:375px;
	}

运行后在浏览器可以发现已经转化为10rem,即375/设置的rootValue:

在这里插入图片描述

 以上情况则说明postcss-pxtorem配置成功

html的字体大小跟随设备宽度进行改变,body跟随设备的dpr进行改变,这是amfe-flexible的实现,即说明配置成功。

说明,安装过程中可能会遇到以下报错:

1.安装配置后,发现rem并没有生效,解决办法:使用vue.config.js去配置,不要用postcss.config.js

2.抛错[object Object] is not a PostCSS plugin。报错原因:postcss-pxtorem版本太高,更改版本为5.1.1。npm install postcss-pxtorem@5.1.1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue实现移动端适配方案 的相关文章

  • 带换行符的 React/Momentjs 日期格式

    我有一个日期字符串 我想对其进行格式化 其中数字位于月份下 Jul 6 我尝试了几种不同的方法来添加新行
  • 如何实时改变setInterval的速度

    我想知道如何实时更改 setInterval 的速度 例如 if score lt 10 repeater setInterval function spawnEnemy 1000 if score gt 10 repeater setIn
  • axios 请求中未发送正文数据

    我试图通过 axios 请求将数据发送到我的后端脚本 但正文看起来是空的 这是前端发送的请求 axios request method GET url http localhost 4444 next api headers Authori
  • Angular UI select:从远程服务获取数据

    我正在使用角度用户界面选择 https github com angular ui ui select https github com angular ui ui select 我查看了演示的可用位置这个笨蛋 http plnkr co
  • Eslint 从另一个文件确定全局变量

    我试图以这样的方式设置 ESLint 使其在对实际目标文件进行 linting 之前解析全局声明文件 这样我就不必将所有确实是全局的函数和变量声明为全局 而是让解析器弄清楚 In 一些 模块 js function do something
  • 使用 jQuery Select2 清除下拉菜单

    我正在尝试使用奇妙的方式以编程方式清除下拉菜单Select2 http ivaynberg github com select2 图书馆 使用 Select2 远程 ajax 调用动态填充下拉列表query option HTML
  • 如何让Gmail像加载进度条一样

    我想在页面的中心和顶部创建一个像 Gmail 一样的加载进度条 并适用于所有浏览器 这是基本代码
  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • jQuery输入文件点击方法和IE上拒绝访问

    我尝试仅使用一个按钮作为输入文件 它在 Firefox Chrome Safari 中工作正常 但在 IE 中不行 提交表单时我总是收到 访问被拒绝 的消息 代码 input file click 有真正的解决方法吗 我在谷歌上浪费了大约2
  • 此页面上的脚本导致 ie 运行缓慢

    问题就在标题中 IE 行为异常 并说有一个脚本运行缓慢 FF 和 Chrome 没有这个问题 我怎样才能找到问题所在 那个页面有很多JS 手动检查不是一个好主意 EDIT 这是我正在处理的一个项目的页面 但我需要一个工具来查找问题 End
  • 使用带有少量项目的 v-slide-group 时出现问题

    我在使用 v slide group 时遇到问题 有时我有 2 3 个项目 有时我有 10 个或更多项目 但项目较少时 它不会显示箭头 幻灯片项目也不居中 这是我的 HTML div div
  • React JS 服务器端问题 - 找不到窗口

    你好 我正在尝试在我的reactJS项目中使用react rte 我有服务器端渲染 每次我想使用这个包时 我都会得到 return msie 6 9 b test window navigator userAgent toLowerCase
  • 为什么这行带有“await”的代码会触发微任务队列处理?

    以下引用是我理解微任务队列处理的主要参考 当 JS 堆栈清空时 就会处理微任务 承诺使用 杰克 阿奇博尔德 https twitter com jaffathecake status 954653170986311680 这对我来说没有意义
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • 如何使用 window.onerror 捕获所有 javascript 错误? (包括道场)

    这个问题是后续问题javascript 如何在弹出警报中显示脚本错误 https stackoverflow com questions 2604976 javascript how to display script errors in
  • 如何在画布上所有其他内容后面绘制图像? [复制]

    这个问题在这里已经有答案了 我有一块画布 我想用drawImage在画布上当前内容后面绘制图像 由于画布上已经有内容 我正在使用字面上的画布来创建包含图像的画布 因此我无法真正先绘制图像 所以我无法使用drawImage在我呈现其余内容之前
  • 摩纳哥:如何添加内联自动完成/代码建议?

    我找不到任何有关如何添加内联自动完成功能的示例 如下图所示 有人可以指导我如何在摩纳哥做到这一点吗 这可以在 v1 66 中启用 现在在 Insiders 中 The editor quickSuggestions设置现在接受内联为 配置值
  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样
  • 将多维数组转换为单数组(Javascript)

    我有一个对象数组 来自 XLSX js 解析器 因此其长度和内容各不相同 表示已给予项目的资助 简化后 它看起来像这样 var grants id p 1 location loc 1 type A funds 5000 id p 2 lo

随机推荐

  • cmake 编译boost库遇到的坑

    错误 CMakeFiles main dir main cpp o In function boost asio detail posix event posix event usr local include boost asio det
  • ChatGPT将抢占谁的工作,未来如何应对

    AI人工智能领域里程碑式应用 ChatGPT影响力已经越来越大 激起大家强烈好奇心的同时 也让一些人发出了 感觉自己快要失业了 的焦虑 今天先说一下哪些人的工作会受到 ChatGPT等AI人工智能影响 从工业时代到数字时代这100多年的发展
  • LeetCode之最值问题系列问题求解

    最值系列题目求解 这类型题目的特点就是一个数组 或者字符串 给的条件是连续或者不连续 或者给定限定条件进行求解的情况 解题的关键 采用两个变量 一个变量记录前面的条件 或者最后一个不满足题意的index 或者最小值 比如股票题目当中j 或者
  • 【工具类】使用阿里oss实现图片、视频、文档上传

    使用阿里oss实现图片 视频 文档上传 一 背景描述 二 引入依赖 三 配置文件 四 接口实现 一 背景描述 功能是想实现图片 视频和文档的上传 项目技术栈 springboot 2 1 5 RELEASE 二 引入依赖
  • “火柴棒等式”【题解】

    火柴棒等式 的题目 题目 题目描述 给你n根火柴棍 你可以拼出多少个形如 A B C 的等式 等式中的A B C是用火柴棍拼出的整数 若该数非零 则最高位不能是0 用火柴棍拼数字0 9的拼法如图所示 注意 1 加号与等号各自需要两根火柴棍
  • 斐讯K1、K2、K2P 刷机、刷入Breed@重庆网吧电竞酒店维护小哥

    支持的版本 官方固件版本 K1 V22 4 XX XX K1S V22 3 XX XX K2 V22 2 XX XX V22 3 XX XX V22 4 XX XX V22 5 XX XX V22 6 XX XX K2P V22 8 5 1
  • Java反射之Method的invoke方法实现

    使用reflect 反射 包下面的Field和Method类获得类的属性和方法 并对属性和方法进行操作 在框架中经常会会用到method invoke 方法 用来执行某个的对象的目标方法 以前写代码用到反射时 总是获取先获取Method 然
  • NotImplementedError: Could not run ‘torchvision::nms‘ with arguments from the ‘CUDA‘ backend解决办法

    NotImplementedError Could not run torchvision nms with arguments from the CUDA backend This could be because the operato
  • [项目管理-22]:项目中开环、闭环、安全、监控四种沟通模型:UDP/TCP/SCTP/PID模型

    目录 前言 第1章 项目中闭环沟通模型 1 1 沟通模型 1 2 开环沟通 1 3 闭环沟通 1 4 闭环监控式沟通 第2章 TCP UDP SCTP通信模型在项目管理中的应用 2 1 UDP模式沟通 2 2 TCP模式沟通 2 3 SCT
  • GB28181智慧可视化指挥控制系统之执法记录仪设计探讨

    什么是智慧可视化指挥控制系统 智慧可视化指挥控制平台通过4G 5G网络 WIFI实时传输视音频数据至指挥中心 特别是在有突发情况时 可以指定一台执法仪为现场视频监控器 实时传输当前画面到指挥中心 指挥中心工作人员可通过麦克风向现场执法人员下
  • golang高精度十进制数扩展包decimal用法

    在Go语言中 没有内置的十进制数 decimal 类型或相关的标准库 然而 有一些第三方包可用于处理十进制数 其中比较常用的是decimal包 decimal包提供了一个big Float的子类型decimal Decimal 可以用于表示
  • 快捷指令url大全

    支付宝付款码 alipay platformapi startapp appId 20000056 支付宝健康码 alipays platformapi startapp appId 20000067 chInfo ch desktop u
  • 两个有序链表的合并(超详细)

    不知道大家有没有做过一道经典的题目 两个长度为15的有序链表的合并 大家先看题目 那么这道题该如何做尼 首先我们用比较笨的办法 用链表做 首先我们创建两个链表 那么该如何将两个链表合并尼 只需要创建两个指针 指向两个链表 然后比较两个链表中
  • Git的一些命令行

    1 创建一个分支git branch 分支名字 2 提交git commit 3 换主支git checkout 要换到的名字那儿 4合并git merge 分支名字 合并到当前那个支上 且那个支会指向两个父节点 5 git rebase取
  • 南溪的远程桌面软件使用笔记

    1 介绍 远程桌面软件可以让我们远程操作另一个主机的用户界面 Note TeamViewer付费一次后 就会强制自动续费一年 如果取消订阅需要提前续订日期前至少28天 28天的提前期实在太长了 TeamViewer这个公司十分黑心 以后注意
  • TensorFlow 2.0深度强化学习指南

    在本教程中 我将通过实施Advantage Actor Critic 演员 评论家 A2C 代理来解决经典的CartPole v0环境 通过深度强化学习 DRL 展示即将推出的TensorFlow2 0特性 虽然我们的目标是展示Tensor
  • 单链表的基本设计及实际操作

    单链表的基本设计 C语言代码实现 1 单链表概念 设计 单链表是一种链式存取的数据结构 链表中的数据是以结点来表示的 每个结点的构成 元素 数据元素的映象 指针 指示后继元素存储位置 元素就是存储数据的存储单元 指针就是连接每个结点的地址数
  • 如何安装Apache服务

    目录 什么是Apache 第一步 关闭防火墙和安全机制 第二步 系 统 上 定 义 SELinux 最 高 级 别 第三步 导入对应的依赖包并解包 第四步 安装依赖环境 第五步 移动相关文件 第六步 编译安装 第七步 编译 第八步 备份配置
  • git 提交代码到错误分支如何解决

    IDEA 中 当我们修改代码提交后 才发现提交到了错误的分支上 这时如何处理 切换到正确的分支 在刚刚的错误提交上 右键 gt 点击 cherry pick 择优选择 push 推送代码到仓库 注 cherry pick 时 可能提示 yo
  • vue实现移动端适配方案

    vue实现移动端适配步骤如下 先安装amfe flexible和postcss pxtorem npm install amfe flexible save npm install postcss pxtorem save 在main js