关于Vue项目下页面自适应pc端不同分辨率尺寸的方法

文章介绍了如何利用px2rem-loader和postcss-px2rem这两个npm包处理CSS中的px单位,以实现小屏幕设备的缩放兼容。通过安装包、引入自适应JS文件、配置vue.config.js,可以将px单位自动转换为rem,从而达到页面自适应的效果。需要注意的是,内联样式不会被转换,部分样式可能需要加!important来保证优先级。
摘要由CSDN通过智能技术生成

前面我有一篇博客说的是用动态监听body的zoom然后自己设置,或者是window.devicePixelRatio和reansform的scale来处理笔记本等小屏幕的缩放兼容。
这篇介绍一下px2rem-loader和postcss-px2rem来处理响应式视图

1. 首先需要安装 px2rem-loader和postcss-px2rem两个package
这里是用npm进行安装:px2rem-loader和postcss-px2rem

npm install px2rem-loader -S
npm install postcss-px2rem -S

这两个包有时候会跟基础的包产生依赖冲突,给命令新增legacy-peer-deps即可,
那么命令–legacy-peer-dep里的peerDependency是什么依赖呢?根据geeksforgeeks网站里的定义:

Peer Dependencies: In package.json file, there is an object called as peerDependencies and it consists of all the packages that are exactly required in the project or to the person who is downloading and the version numbers should also be the same. That is the reason they were named as peerDependencies. The best example is ‘react’ which is common in every project to run similarly.

翻译过来就是在package.json文件中,存在一个叫做peerDependencies(对等依赖关系)的对象,它包含了项目里需要的所有的包或则用户正在下载的版本号相同的所有的包(意思就是对等依赖关系指定我们的包与某个特定版本的npm包兼容);对等依赖关系最好的例子就是React,一个声明式的创建用户界面的JS库。
其实我也看不懂,但是不影响我们下一步,继续安装:

npm install px2rem-loader -S --legacy-peer-deps
npm install postcss-px2rem -S --legacy-peer-deps

2. 引入自适应的JS文件
在项目存放js文件目录下,比如util目录,新建pxrem.js文件

const baseSize = 16
// 设置 rem 函数
function setRem () {
  // 页面宽度相对于 2048宽的缩放比例,根据需要修改。
  const scale = document.documentElement.clientWidth / 2048
  // 设置页面根节点字体大小(“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/pxrem.js'

3. vue.config.js中进行配置

const px2rem = require('postcss-px2rem')
const postcssRem = px2rem({
  // 基准大小 baseSize,可以使12、14等需要和rem.js中相同
  remUnit: 16
})
module.exports = {
	publicPath: "./",
	  lintOnSave: true,
	  css: {
	    loaderOptions: {
	      postcss: {
	        plugins: [
	          postcssRem 
	        ]
	      }
	    }
	}
}

4. 备注
完成以上的安装和配置,既可以进行页面的自适应 ,在页面样式css里自动会将px单位转换成rem的单位。

注意:一定要在css中书写,写在行内的样式是不会被转成rem单位的,有些样式如果不生效,需要加上!important ,对于有的css样式不想被转换为rem可在相应的css后面加上/no/

Vue2项目中,实现PC端自适应屏幕可以考虑以下方法: 1. 使用CSS媒体查询来适配不同屏幕分辨率。根据不同的屏幕宽度,设置不同的样式,以确保页面不同设备上都能正常显示。可以在CSS中使用@media规则,根据屏幕宽度设置不同的样式。例如,可以设置一些容器的宽度为百分比,以便根据屏幕宽度自动调整大小。 2. 使用流式布局和弹性盒子布局。这些布局方式可以根据屏幕大小自动调整内容的布局和大小,以适应不同的屏幕分辨率。可以使用Vue的flexbox布局或者其他CSS框架(如Bootstrap)来实现流式布局和弹性盒子布局。 3. 使用响应式设计。Vue2中可以使用Vue的响应式特性,根据屏幕的尺寸和方向来动态改变页面的布局和样式。可以使用Vue的计算属性和watch来监听屏幕尺寸的变化,并在变化时更新页面布局和样式。 4. 使用第三方插件或库。Vue2有许多第三方插件或库可以帮助实现PC端自适应屏幕。例如,可以使用element-ui等UI库,它们提供了很多响应式的组件,可以根据屏幕尺寸自动调整布局和样式。 综上所述,可以通过使用CSS媒体查询、流式布局和弹性盒子布局、响应式设计以及第三方插件或库来实现Vue2项目PC端自适应屏幕。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue2项目PC端自适应屏幕](https://blog.csdn.net/qq_58717344/article/details/129750325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kirinlau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值