Vite + vue3 项目使用 amfe-flexible 和 postcss-pxtorem 实现不同屏幕自适应

news2024/10/7 18:25:46

amfe-flexible 和 postcss-pxtorem 可以一起使用来实现移动端的适配效果。

amfe-flexible 主要用于动态设置根元素字体大小(rem),以根据屏幕尺寸进行自适应布局。它会根据设备的屏幕宽度计算出根元素字体大小,并将其设置为页面的根元素的字体大小。然后,开发者可以在 CSS 样式中使用 rem 单位来设置元素的尺寸和间距,从而实现自适应布局。

postcss-pxtorem 是一个 PostCSS 插件,用于将 CSS 中的像素单位(px)转换为 rem 单位。它会在构建过程中自动分析 CSS 文件,将指定的像素值转换为相应的 rem 值,以适应动态设置的根元素字体大小。

配置 amfe-flexible

配置 amfe-flexible 非常简单,只需要安装引入一下即可

安装 amfe-flexible

npm install amfe-flexible --save

###在 main.js 引入

import 'amfe-flexible'

配置 postcss-pxtorem

配置 postcss-pxtorem 也不难,只需要安装在 vite.config.js 配置一下就行

安装

npm install postcss postcss-pxtorem --save-dev

vite.config.js 配置

import pxtorem from 'postcss-pxtorem';
export default defineConfig({
  plugins: [
    vue()
  ],
  css: {
    postcss: {
      plugins: [
        pxtorem({
          rootValue: 75, // 这里写设计稿的宽度/10即可,例如设计稿宽度是750px就写75
          // vant默认是37.5,如果是使用了vant的话可以像下面这样写
          // rootValue(res) {
          //   return res.file.indexOf("vant") !== -1 ? 37.5 : 75;
          // },
          propList: ['*'], // 需要转换的属性,默认转换所有属性
          selectorBlackList: [] // CSS选择器黑名单,防止部分选择器被转换
          exclude: /\/node_modules\//i, // 忽略包文件转换rem
        })
      ]
    }
  }
});

出现的问题

一、打包后 postcss-pxtorem 失效

第一次打包没问题,后面再打包 postcss-pxtorem 就失效,不会转变 px 为 rem 了
按下面步骤解决(一次性),没比较好的解决办法,有大佬知道可以说下

  1. 清理缓存
npm cache clean --force
  1. 删除依赖

    删除 dist 打包文件夹和 node_modules 依赖文件夹

  2. 安装依赖

npm install
  1. 重新打包

不同尺寸效果图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

参考

vite + vue3 使用 postcss-pxtorem 适配移动端
移动端—在 vant 中使用 postcss-pxtorem 和 lib-flexible 实现 rem 布局适配

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无涯教程-JavaScript - IMLOG10函数

描述 IMLOG10函数以x yi或x yj文本格式返回复数的公共对数(以10为底)。可以从自然对数计算复数的公共对数,如下所示: $$\log_ {10}(x yi)(\log_ {10} e)\ln(x yi)$$ 语法 IMLOG10 (inumber)争论 Argument描述Required/OptionalInumberA complex number for which you …

osg 纹理烘焙

#include <osgViewer/ViewerEventHandlers> #include <osgViewer/Viewer> #include <osgDB/ReadFile>//render to texture,纹理烘焙 static osg::Texture* createRttTexture(int texWidth, int texHeight) {osg::ref_ptr<osg::Texture2D> texture new…

musl libc 动态加载:elf 应用程序入口函数 _start 到 main 的执行流程

前言 应用程序 elf ,如静态链接的应用程序,入口函数不是 main 函数,而是 _start 函数 从 _start 函数到 main 函数,经过 libc 的一系列初始化操作 _start -> _start_c -> ... -> main 动态编译链接的应用程序 elf,更是经历了 _dlstart -> _dlstart_c -> ..…

制作周变化日程组件

要实现的样子 实现的功能&#xff1a; 上面年月左右切换至改变月份&#xff0c;改变后显示月份的1号在的一周从周天开始 下面周历左右切换周&#xff0c;当存在1号的时候月份变为1号的月份和年份。 点击日程时间下面的日程变化&#xff08;日程上的点代表有日程信息&#xff09…

【白话机器学习系列】白话梯度下降

白话梯度下降 梯度下降是机器学习中最常见的优化算法之一。理解它的基本实现是理解所有基于它构建的高级优化算法的基础。 文章目录 优化算法一维梯度下降均方误差梯度下降什么是均方误差单权重双权重三权重三个以上权重 矩阵求导结论 优化算法 在机器学习中&#xff0c;优化是…

三维模型OBJ格式轻量化处理技术方法浅析

三维模型OBJ格式轻量化处理技术方法浅析 维模型的OBJ格式轻量化处理技术方法旨在减小模型文件大小、提高加载性能和优化渲染效果。本文将对三维模型OBJ格式轻量化处理技术方法进行浅析&#xff0c;并探讨其在数据压缩、几何简化和纹理优化等方面的应用。 首先&#xff0c;数据…

R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据...

全文链接&#xff1a;http://tecdat.cn/?p31010 平衡不完全区组设计&#xff08;BIBD&#xff09;是一个很好的研究实验设计&#xff0c;可以从统计的角度看各种所需的特征&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 最近我们被客户要求撰写关于BIBD的研…

【Linux从入门到精通】通信 | 共享内存(System V)

本篇文章接着上篇文章通信 | 管道通信&#xff08;匿名管道 & 命名管道&#xff09;进行讲解。本篇文章的中点内容是共享内存。 文章目录 一、初识与创建共享内存 1、1 什么是共享内存 1、2 共享内存函数 1、2、1 创建共享内存 shmget 1、2、2 ftok 生成 key 1、2、3 获取共…

nvm 在 Windows 上的使用

NVM&#xff08;Node Version Manager&#xff09;是一个用于管理和切换多个 Node.js 版本的工具。它允许你在同一台机器上同时安装和使用不同版本的 Node.js&#xff0c;而无需手动安装和卸载。 之前都是只安装一个版本的 node.js&#xff0c;该更新时更新&#xff0c;使得以前…

RK3568-GPIO控制

RK3568-GPIO控制 1. Sysfs接口 实现逻辑 芯片的GPIO由芯片的GPIO控制器来管理&#xff0c;GPIO控制器封装在芯片内部&#xff0c;控制器的驱动芯片厂家已经写好了。RK3568有五组GPIO控制器&#xff0c;每组管理32个引脚&#xff0c;对应/dev下的gpiochip0~4的设备节点。 Lin…

【Redis专题】RedisCluster集群运维与核心原理剖析

目录 课程内容一、Redis集群架构模型二、Redis集群架构搭建&#xff08;单机搭建&#xff09;2.1 在服务器下新建各个节点的配置存放目录2.2 修改配置&#xff08;以redis-8001.conf为例&#xff09; 三、Java代码实战四、Redis集群原理分析4.1 槽位定位算法4.2 跳转重定位4.3 …

【Linux】网络编程网络基础(C++)

目录 一、计算机网络背景 二、认识 "协议" 三、网络协议初识 【3.1】协议分层 【3.2】OSI七层模型 【3.3】TCP/IP五层(或四层)模型 四、网络传输基本流程 【4.1】网络传输流程图 【4.2】数据包封装和分用 五、网络中的地址管理 一、计算机网络背景 【独立…

用Python实现一个可定制风格的绘图系统

文章目录 调用绘图风格控件代码组织源代码base.pyaframe.pyalist.pyds.py Python绘图系统&#xff1a; &#x1f4c8;从0开始的3D绘图系统&#x1f4c9;一套3D坐标&#xff0c;多个函数&#x1f4ca;散点图、极坐标和子图自定义控件&#xff1a;&#x1f4c9;绘图风格&#x1…

【精华】AIGC专栏-Text/Img/Video/audio

&#xff08;一&#xff09;LLM专栏 大模型相关技术原理以及实战经验&#xff1a;liguodongiot/llm-action 1 ColossalAI &#xff08;1&#xff09;参考资料&#xff1a;700 亿参数 LLaMA2 训练加速 195%&#xff0c;基础大模型最佳实践再升级 &#xff08;2&#xff09;开…

Linux常用命令——convertquota命令

在线Linux命令查询工具 convertquota 把老的配额文件转换为新的格式 补充说明 convertquota命令用于将老的磁盘额数据文件&#xff08;“quota.user”和“quota.group”&#xff09;转换为新格式的文件&#xff08;“quota.user”和“quota.group”&#xff09;。 语法 c…

Day59|leetcode 503.下一个更大元素II、42. 接雨水

leetcode 503.下一个更大元素II 题目链接&#xff1a;503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;单调栈&#xff0c;成环了可怎么办&#xff1f;LeetCode&#xff1a;503.下一个更大元素II_哔哩哔哩_bilibili 题目概述 给定一个循环…

接口使用的最佳时机

1. 引言 接口在系统设计中&#xff0c;以及代码重构优化中&#xff0c;是一个不可或缺的工具&#xff0c;能够帮助我们写出可扩展&#xff0c;可维护性更强的程序。 在本文&#xff0c;我们将介绍什么是接口&#xff0c;在此基础上&#xff0c;通过一个例子来介绍接口的优点。…

【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型

【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型 1 题目 构建以新能源为主体的新型电力系统&#xff0c;是我国实现“碳达峰”“碳中和”目标的一项重要措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站&#xff08;…

微电网的概念

微电网分布式控制理论与方法  顾伟等 微电网的概念和作用 微电网是由多种分布式电源、储能、负载以及相关监控保护装置构成的能够实现自我控制和管理的自治型电力系统&#xff0c;既可以与电网并网进行&#xff0c;也可以以孤岛运行。 分布式发电是指将容量在兆瓦以内的可再…

Elsevier出版社 | 优质好刊合集

【SciencePub学术】 爱思唯尔(Elsevier)是一家全球专业从事科学与医学的信息分析公司作为出版公司&#xff0c;成立于1880年&#xff0c;其产品包括《柳叶刀》、《四面体》和《细胞》等学术期刊&#xff0c;ScienceDirect电子期刊集&#xff0c; “趋势”(Trends)系列和“新见…