vue项目PC端如何适配不同分辨率屏幕

2023-11-01

本文为CSDN博主「楚猴修」的原创文章
原文链接:https://blog.csdn.net/weixin_43607164/article/details/100512220

我只是记录下 防止以后遇到弄丢

配置前言

项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配
实现原理:每次打包,webpack通过使用插件postcss-px2rem,帮我们自动将px单位转换成rem单位
前方有坑:UI框架部分组件使用JavaScript将css作为内联样式直接写在html标签内,打包适配时不会读取相关css,所以要配置相关样式,在style中需要" !important "进行样式覆盖。

第一步,安装postcss-px2rem及px2rem-loader

打开命令行工具,输入以下指令安装插件(当然用淘宝镜像cnpm安装会更快)

npm install postcss-px2rem px2rem-loader --save

第二步,在根目录src中新建utils目录下新建rem.js等比适配文件

复制以下代码

// rem等比适配配置文件
// 基准大小
const baseSize = 16
// 设置 rem 函数
function setRem () {
  // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
  setRem()
}

第三步,在main.js中引入适配文件

import './utils/rem'

第四步,到vue.config.js中配置插件

// 引入等比适配插件
const px2rem = require('postcss-px2rem')

// 配置基本大小
const postcss = px2rem({
  // 基准大小 baseSize,需要和rem.js中相同
  remUnit: 16
})

// 使用等比适配插件
module.exports = {
  lintOnSave: true,
  css: {
    loaderOptions: {
      postcss: {
        plugins: [
          postcss
        ]
      }
    }
  }
}

————————————————
版权声明:本文为CSDN博主「楚猴修」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43607164/article/details/100512220

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

vue项目PC端如何适配不同分辨率屏幕 的相关文章

  • 没有 JavaScript 计时器的自动播放轮播 - CSS 动画

    先看效果 再看代码 查看更多
  • 5、无线传输和卫星通信(物理层)

    1 无线传输 引言 在某些情况下 无线具有的优势甚至超过了固定设备的优势 例如 由于地形等陆地因素等原因造成把光纤拉到一座建筑物非常困难时 无线或许是更好的选择 现代无线数字通信始于夏威夷群岛 1 电磁频谱 当电子运动时会产生电磁波 电磁波
  • 对话三维家创始人蔡志森:AIGC让家装从“填空题”变成了“选择题”

    图片来源 Pixels 三维家讲透了一个道理 数字化企业如何利用已有优势构建AGI能力 数科星球原创 作者丨苑晶 编辑丨大兔 AIGC火热半年有余 人们已对ChatGPT不再陌生 从互联网巨头再到上一代AI企业 没人想错过这一轮饕餮盛宴 但
  • vue和react中的表单默认值

    在react中设置input的默认值 defaultvalue 要设置的默认值
  • 《花》

    花 春来桃花夏出荷 秋赏金菊冬踏梅 世事心平花常在 岂笑独唱葬花吟 宋 颂 春有百花秋有月 夏有凉风冬有雪 若无闲事挂心头 便是人间好时节 善似青松恶似花 看看眼前不如它 有朝一日遭霜打 只见青松不见花 面上无嗔是供养 口里无嗔出妙香 心中
  • python中的随机数_玩转 Python 中的随机数

    原标题 玩转 Python 中的随机数 开发中我们经常遇到需要随机数的场景 比如为了用户密码更安全我们有时会加盐 也就是将用户原密码连接上一串随机字符然后加密保存 又比如我们可能需要随机展示某张图片等等 今天 我们就来理一理 Python
  • 实现ListView动态获取列表项内容

    最近正在练习使用 AdapterView 组件 想到listview一个非常普遍的用法 也就是动态加载内容 从服务器或是本地数据库中获取 简单记录一下使用listview 动态加载存储在Sqlitedatabase中的相关内容 一 首先创建
  • [Python图像处理] 六.图像缩放、图像旋转、图像翻转与图像平移

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • java中的数组 上

    目录 数组的概述 一维数组的使用 声明 初始化 数组元素的引用 数组元素的默认初始化值 一维数组的内存解析 多维数组 多维数组的使用 二维数组的内存解析 数组的概述 数组 Array 是多个 相同类型数据 按 一定顺序排列 的集合 并使用
  • 常用正则表达式例子

    原文 http blog sina com cn s blog 4c646b600100evq3 html 1 d 匹配非负整数 正整数 0 2 0 9 1 9 0 9 匹配正整数 3 d 0 匹配非正整数 负整数 0 4 0 9 1 9
  • 【蓝桥杯】第十四届蓝桥杯模拟赛(第三期)C++ (弱go的记录,有问题的话求指点)

    博主是菜鸡啦 代码仅供参考 只确定能过样例 嘻嘻 第一题 填空题 问题描述 请找到一个大于 2022 的最小数 这个数转换成十六进制之后 所有的数位 不含前导 0 都为字母 A 到 F 请将这个数的十进制形式作为答案提交 答案提交 这是一道
  • css的list,CSS List 入门教程

    CSS List 入门教程 list指得是在css中的li等标签的控制了 面list也有四个属性 其实有五个我们只讲常用的4个了 他们分别为 list style list style image list style position l
  • 【thinkphp5学习笔记之一 】安装

    一 安装composer 1 点此下载composer 然后运行 2 打开cmd 按行分别输入以下代码 要求php安装并且路径配置完毕 php r copy https install phpcomposer com installer c
  • 51单片机实战教程之C语言基础(二 C语言运算符)

    Keil C51基础之运算符详解 一 算术运算符 包括加 减 乘 除 取模 自加 自减 示例 5 3 结果 2 char a 5 a 结果 5 1 a为6 a 结果 6 1 a为 5 二 关系运算符 包括小于 lt 小于等于 lt 大于 g
  • Chrome 截图页面全图

    打开谷歌浏览器 按F12 弹出开发者工作 开发者工具中 按下快捷键组合Ctrl Shift P Windows 在命令行中输入 Screen 可以看到三个选项 根据不同需求进行选择 具体如下图所示 整个网页 Capture full siz
  • 圆周率 π 是否隐藏了本个宇宙的设计者留给这个宇宙的智慧文明的某种信息?...

    还是太naive了 我要是宇宙设计者 我就把信息藏在蔡廷常数里 这才是对人类最大的嘲讽 蔡廷常数 其含义是找随机生成一段程序 这段程序不会陷入死循环的概率 可以证明这是一个确定存在的无理数 但是同样可以证明它是不可以被计算出来的 实际上 能
  • LeetCode:58. 最后一个单词的长度

    给你一个字符串 s 由若干单词组成 单词前后用一些空格字符隔开 返回字符串中 最后一个 单词的长度 单词 是指仅由字母组成 不包含任何空格字符的最大子字符串 示例 1 输入 s Hello World 输出 5 解释 最后一个单词是 Wor
  • 'umi' 不是内部或外部命令

    1 首先 需要安装Node js 一路下一步安装 并确保 node 版本是 8 10 或以上 mac 下推荐使用 nvm 来管理 node 版本 安装完成后 通过node v 命令查看其版本号 2 推荐使用 yarn 管理 npm 依赖 并
  • Unity批量预设体替换材质球

    using System Collections using System Collections Generic using UnityEditor using UnityEngine using UnityEngine UI using
  • linux查看端口的使用情况

    lsof 查看端口占用语法格式 lsof i 端口号 lsof i 8080 查看8080端口占用 lsof abc txt 显示开启文件abc txt的进程 lsof c abc 显示abc进程现在打开的文件 lsof c p 1234

随机推荐

  • docker配置文件挂载(容器数据管理)

    目录 数据卷 容器数据管理 什么是数据卷 数据集操作命令 创建和查看数据卷 挂载数据卷 案例 案例 给nginx挂载数据卷 案例 给MySQL挂载本地目录 总结 数据卷 容器数据管理 在之前的nginx案例中 修改nginx的html页面时
  • 大数据平台测试-后端代码覆盖率工具

    一 后端覆盖率工具 在后端开发中 常用的覆盖率工具包括 JaCoCo Java Code Coverage JaCoCo 是一个流行的 Java 代码覆盖率工具 它可以在编译期间插入字节码 收集覆盖率信息 并生成报告 JaCoCo 支持行覆
  • VScode react @ import引入路径智能提示

    1 安装Path Intellisense插件 2 在settings json中配置 path intellisense mappings workspaceRoot src 3 在项目package json所在同级目录下创建文件jsc
  • Object Detection

    目标检测神文 非常全而且持续在更新 转发自 https handong1587 github io deep learning 2015 10 09 object detection html 如有侵权联系删除 我会跟进原作者博客持续更新
  • TransactionTemplate 事务编程式写法

    建议使用声明式事务 Transactional rollbackFor Exception class 粒度不够 拆分方法 import org springframework transaction support Transaction
  • 题目68 求随机整书数组中两个数和绝对值最小值(ok)

    给定一个随机的整数数组 可能存在正整数和负整数 nums 请你在该数组中找出两个数 其和的绝对值 nums x nums y 为最小值 并返回这两个数 按从小到大返回 以及绝对值 每种输入只会对应一个答案 但是 数组中同一个元素不能使用两遍
  • Python(8):循环语句

    Python循环语句 今天重点学习关于循环的关键字 for while else ranage break continue pass while 一般形式 while 判断条件 condition 执行语句块statements 直接上代
  • 主成分分析Python代码

    对于主成分分析详细的介绍 主成分分析 PCA 原理详解https blog csdn net zhongkelee article details 44064401 import numpy as np import pandas as p
  • 需要注意的 Mybatis 批量插入

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 首先对于批量数据的插入有两种解决方案 下面内容只讨论和Mysql交互的情况 1 for循环调用Dao中的单条插入方法 2 传一个List参数 使用Mybatis的批量插
  • matlab中结构体和python中字典的异同

    下面的Python 2 5 例子都是源于 Diveinto Python 以下的Matlab代码都是在Matlab7 0 1下运行通过的 Python中定义Dictionary gt gt gt d server mpilgrim data
  • rotate函数css,CSS rotateZ()用法及代码示例

    rotateZ 函数是一个内置函数 用于使元素绕z轴旋转 用法 rotateZ angle 参数 该功能接受代表旋转角度的单个参数角度 正角和负角分别使元素顺时针和逆时针旋转 以下示例说明了CSS中的rotateZ 函数 范例1 CSS r
  • 黑苹果安装使用 macos10.14 on vmware15 or virtualbox

    01 基本信息 macos可以安装在windows版本的vmware或者virtualbox上面 网上有很多教程 完整的virtualbox安装的较少 vmware安装的比较完整 测试了一些提供virtualbox磁盘文件的帖子 可用 原始
  • OMML2MML.XSL 微软数学标记语言源码

  • 图像空间变换--imtransform

    转自 http juyishaanxi blog 163 com blog static 602733002010522105439617 非原处 空间几何变换 将 w z 坐标系上的图像变换为 x y 坐标系上的图像 可以表示为 x y
  • web前端入门到实战:纯CSS瀑布流与JS瀑布流

    瀑布流 又称瀑布流式布局 是比较流行的一种网站页面布局方式 即多行等宽元素排列 后面的元素依次添加到其后 等宽不等高 根据图片原比例缩放直至宽度达到我们的要求 依次按照规则放入指定位置 为什么使用瀑布流 瀑布流布局在我们现在的前端页面中经常
  • (十)Mybatis多表联查xml当中应该如何写?

    这篇文章主要讲述Mybatis多表联查xml当中的一些实现方式 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 一对一的场景 1 resultMap封装对象 2 resultMap配合associ
  • 《响应式Web设计——HTML5和CSS3实战》——知识点整理总结(持更~)

    1 HTML5 CSS3及响应式入门 1 1 什么是响应式 如果要用一句话概括 那么响应式网页是针对人以设备对网页内容进行完美布局的一种显示机制 相反 如果需要根据不同设备提供特定的内容和功能 那就需要一个真正的 手机版 网站 这种情况下
  • linux shell 多行注释,shell 中的单行注释和多行注释

    关于shell中的单行注释和多行注释的问题 本文档介绍两种实用的方法 1 单行注释 众所周知 比如想要注释 echo Hello World root Jaking vim test sh echo Hello World 2 多行注释 法
  • 关于如何在VWware的虚拟机中修改终端背景

    第一步 打开VMware的虚拟机 进入到终端界面 点击 gt 编辑 然后在进入 gt 首选项 第二步 然后进入到以下界面 第三步 点击 gt 颜色 取消 使用系统主题中的颜色 的勾选 第四步 根据相关给出的颜色种类选择出自己喜欢的颜色就行
  • vue项目PC端如何适配不同分辨率屏幕

    本文为CSDN博主 楚猴修 的原创文章 原文链接 https blog csdn net weixin 43607164 article details 100512220 我只是记录下 防止以后遇到弄丢 配置前言 项目构建 基于vue c