Vue3 移动端自适应方案postcss-px-to-viewport

我的环境

依赖名版本
pnpm8.14.0
Node16.20.1
Vue3.3
Vite5.0.8

一、安装

pnpm install postcss-px-to-viewport@1.1.1 --save-dev  

二、配置 vite.config.ts

import postcsspxtoviewport from 'postcss-px-to-viewport'

export default defineConfig({
	css: {
		postcss: {
			plugins: [
				postcsspxtoviewport({
					unitToConvert: 'px', // 要转化的单位
					viewportWidth: 750, // UI设计稿的宽度,如果你的设计稿是375就改成375  
					unitPrecision: 6, // 转换后的精度,即小数点位数
					propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
					viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw
					fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
					selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名,
					minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
					mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
					replace: true, // 是否转换后直接更换属性值
					exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
					landscape: false, // 是否处理横屏情况
				}),
			]
		}
	}
})

提示:如果你的设计稿是375就把750改一下即可。

三、解决 Vant 375 设计尺寸问题

Vant自带是375尺寸的,而我们是750最后插件帮我们转化为375的,也就是我们写的px都是2倍的,如果vant也跟着转化那就是375 / 2,但它不需要转化,所以在转换时我们忽略它。
如果你的设计稿是375,那就不用将忽略vant。

exclude: [/node_modules\/vant/], // 设置忽略文件,用正则做目录名匹配

四、注意:这个自适应插件只会转换内部样式,行内样式不会转换

  • 内部样式:我的设计稿是750,到网页时px经过postcss的处理后自动除以2,等于15px
  • px自动转化为4vw,1vw = 3.75px,4vw * 3.75 = 15px
  • 如果你是375,开发时px则无需乘以2。
<template>
	<div class="testFont">测试1</div>
</template>
<style scoped lang="scss">
.testFont{
	font-size: 30px; 
}
</style>

在这里插入图片描述

  • 行内样式:写多少就是多少
<span style="font-size: 30px">测试2</span>

在这里插入图片描述

参考文章:https://www.cnblogs.com/goloving/p/15238345.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/319732.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS】网络数据请求连接与数据持久化操作

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…

QT获取程序编译时间与当前时间的区别及应用场景

一.获取编译时间与当前时间的区别 1.编译日期时间&#xff1a;这个信息通常用于标识某个源代码文件或整个应用程序的编译时间&#xff0c;程序一旦编译出来不会再改变&#xff0c;通常用于记录或跟踪代码的版本和更改历史。 2.运行当前日期时间&#xff1a;这是指程序在运行时…

ssm基于web的电影购票系统+vue论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统电影购票信息管理难度大&#xff0c;容错率低&#xff0c…

NI PXIe-6386国产替代,8路AI(16位,14 MS/s/ch),2路A​O,24路DIO,PXI多功能I/O模块

PXIe-6386 PXIe&#xff0c;8路AI&#xff08;16位&#xff0c;14 MS/s/ch&#xff09;&#xff0c;2路A​O&#xff0c;24路DIO&#xff0c;PXI多功能I/O模块 PXIe-6386是一款同步采样的多功能DAQ设备。该模块提供了模拟 I/O、数字I/O、四个32位计数器和模拟和数字触发。板载N…

【Linux】 系统目录结构

进入到根目录 cd /ls目录名具体作用/存放系统系统相关的目录文件/boot放置linux系统内核文件和启动时用到的一些引导文件/home包含linux系统上各用户的主目录&#xff0c;子目录名称默认以该用户名命名/root系统管理员root的家目录/bin包含常用的命令文件&#xff08;如ls 等&a…

JVM内存区域详解,一文弄懂JVM内存【内存分布、回收算法、垃圾回收器】

视频讲解地址 学习文档 一、内存区域 区域描述线程私有如何溢出程序计数器为了线程切换后能恢复到正确的执行位置&#xff0c;每个线程都要有一个独立的程序计数器。✅唯一一个不会内存溢出的地方虚拟机栈1. 每个方法执行的时候&#xff0c;Java虚拟机都会同步创建一个栈帧用于…

基于springboot+vue2的课程教学考试系统(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

MySQL分库分表

一、基本信息 1、作用 主要解决两个瓶颈&#xff1a; IO瓶颈CPU瓶颈 2、拆分方式 垂直分库&#xff1a;将一个数据库的表拆分到不同的数据库中&#xff0c;例如&#xff1a;A库有user表和sku表&#xff0c;将这两个表分别拆分到B库和C库&#xff0c;每个数据库的表和数据都不一…

java实现教务管理系统

git地址&#xff1a;https://gitee.com/myshort-term/school-management 1.系统简介 开发教务管理系统程序&#xff0c;设计了ems&#xff08;EMSApp&#xff09;、dao&#xff08;AssignmentDAO、CourseDAO、DeptDAO、ScoreDAO、UserDAO、EmailDAO&#xff09;、domain&#…

SpringFramework实战指南(二)

SpringFramework实战指南&#xff08;二&#xff09; 2.1 Spring 和 SpringFramework概念2.2 SpringFramework主要功能模块2.3 SpringFramework 主要优势 2.1 Spring 和 SpringFramework概念 Spring-ioc 广义的 Spring&#xff1a;Spring 技术栈&#xff08;全家桶&#xff0…

杨中科 .NETCORE 异步编程

一、 为什么需要异步编程 异步点餐的优点&#xff1a;能同时服务多个客人 异步点餐一定会提升单个客户点餐速度吗&#xff1f; 答案理所当然&#xff1a;不能 图片美化服务例子服务器能够同时服务的请求数量有限 void BeautifyPic (File photo, Response response) {byte[] …

【洛谷千题详解】P1980 [NOIP2013 普及组] 计数问题

#include<bits/stdc.h> using namespace std; int main() {int n,x,ans0;cin>>n>>x;for(int i1;i<n;i){int numberi;while(number){int anumber%10;number/10;if(ax) ans;}}cout<<ans<<endl;return 0; }

c/c++中static的用法

概述 static&#xff1a; 作为c/c的关键字之一&#xff0c;具有多种含义和应用&#xff0c;static 关键字可用于声明变量、函数、类数据成员和类函数。默认情况下&#xff0c;在所有块的外部定义的对象或变量具有静态持续时间和外部链接。 静态持续时间意味着&#xff0c;在程…

优雅的删除链表元

王有志&#xff0c;一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群&#xff1a;共同富裕的Java人 在数据结构&#xff1a;链表中&#xff0c;我们实现了链表的删除方法&#xff0c;但代码看起来并不“优雅”&#xff0c;那么今天我们就来尝试使用多种方法&#xff0c…

【深度学习:Micro-Models】用于标记图像和视频的微模型简介

【深度学习&#xff1a;Micro-Models】用于标记图像和视频的微模型简介 微模型&#xff1a;起源故事微模型到底是什么&#xff1f;更详细地解释微观模型&#xff1a;一维标签蝙蝠侠效率 在计算机视觉项目中使用微模型的额外好处面向数据的编程 在本文中&#xff0c;我们将介绍 …

SystemC学习笔记 - Hello systemc world

Hello Systemc World 码农老规矩&#xff0c;先写一个hello world并输出&#xff0c;语法什么的后面再说&#xff0c;先能编译运行再说。 目录配置 使用examples里的配置&#xff0c;在examples/sysc目录下创建test目录&#xff0c;其下创建第一个test1的目录&#xff0c;如…

【Py/Java/C++三种语言详解】LeetCode每日一题240114【链表】LeetCode83、删除排序链表中的重复节点

文章目录 题目链接题目描述解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode83、删除排序链表中的重复节点 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返…

寡年是否适合结婚?寡妇年结婚有什么禁忌吗?让程序来告诉你有多少人是寡妇年结婚的。

什么是寡年&#xff1f; 百度百科 原文&#xff1a;寡年-百度百科 指整年没有“立春”的日子就是“盲年”&#xff0c;俗称寡年。又名滑头年 社会上流传的“寡妇年”&#xff0c;是指整个农历年都没有立春的年份。以农历2005年的鸡年为例&#xff0c;立春在公历2月4日&…

8年老鸟,自动化测试经验,测试数据管理分析总结,一篇打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 问题&#xff1a;…

Linux 转换文字编码与换行符 nkf命令

参考资料 【 nkf 】コマンド――文字コードと改行コードを変換するnkfコマンドでファイルの文字コードと改行コードを統一する 目录 一. 前期准备二. 乱码现象与分析三. nkf命令3.1 nkf --guess 查看文件编码3.2 nkf -w8 UTF-8(BOM)编码显示3.3 nkf -wd --overwrite 覆盖源文件…