【vue项目适配可借助于插件lib-flexible 和postcss-px2rem】

前言:vue项目适配可借助于插件lib-flexible 和postcss-px2rem。

lib-flexible插件的作用:根据屏幕尺寸不同设置html根标签的字体大小,1rem即等于根标签的字体大小。

postcss-px2rem插件的作用:将px转为rem,如此以来我们可以在开发的过程中使用px单位。

注意:该插件不适用于行内样式,如使用行内样式,postcss-px2rem 则不能将px转为rem

具体使用方法如下:

一、下包(使用yarn或者npm都可)

1、yarn 命令下包

yarn add lib-flexible postcss-px2rem

2、npm命令下包

npm i lib-flexible postcss-px2rem

二、更改插件配置

1、更改lib-flexible插件的配置

找到node_modules文件夹下的lib-flexible下的flexible.js文件,修改refreshRem 函数

 function refreshRem(){var width = docEl.getBoundingClientRect().width;if (width / dpr > 540) {width = 540* dpr;}var rem = width / 10;docEl.style.fontSize = rem + 'px';flexible.rem = win.rem = rem;}

改为

 function refreshRem(){var width = docEl.getBoundingClientRect().width;if (width / dpr > 540) {width = width * dpr;//-------------------}var rem = width / 10;docEl.style.fontSize = rem + 'px';flexible.rem = win.rem = rem;}

2、配置postcss-px2rem

在vue.config.js文件中追加如下代码

const px2rem = require('postcss-px2rem')
const postcss = px2rem({remUnit: 192, // 设计稿十等分后的值1rem=192pxremPrecision: 6 // 转化后小数点位数
})module.exports = {css: {// PC分辨率端适配loaderOptions: {css: {},postcss: {plugins: {postcss}}}}
}

注意:修改vue.config.js代码需要重启项目

三、重启项目测试

f12控制台检查html标签,当html标签设置了font-size即说明lib-flexible插件生效

检查样式px是否转为rem,如转为rem即生效

ps:在适配过程中,刚开始我的单位px未转化为rem,最后将vue/cli版本从5.0.8降低为4.5.15才生效。

如使用 px2rem-loader 插件适配,采用如下方式配置,则注意px2rem-loader插件配置方式对scss代码并不生效,需为css,不能使用scss

 chainWebpack: config => {config.module.rule('css').test(/\.css$/).oneOf('vue').resourceQuery(/\?vue/).use('px2rem').loader('px2rem-loader').options({remUnit: 192, // 根据视觉稿,rem为px的十分之一,1920px  192 remremPrecision: 8// 换算的rem保留几位小数点})}

原文链接:https://blog.csdn.net/weixin_45371730/article/details/126404369

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

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

相关文章

Python与HTTP服务交互

Python与HTTP服务交互,可以通过http.client requests RissionPage等。 http.client标准库 http.client 是Python标准库中的一个模块,用于发送HTTP请求。这个模块提供了一个低级别的接口,允许你手动构建HTTP请求并处理响应。下面是对 http.c…

(科目三)数据库基础知识

1、基本概念 1.1 数据库 1、数据、信息和数据处理 数据是指表达信息的某种物理符号; 信息是对客观事物的反映,是为某一特定目的二提供的决策数据; 数据处理是指将数据转换成信息的过程,是对各类型的数据进行收集、整理、存储、…

军用技术民用开花,Shokz韶音要做下一个“AirPods”

Shokz韶音对打造消费级骨传导耳机的执念始于2007年。 在这之前,它已经成为亚洲最大的军用耳机生产商,以代工订单为主的商业模式是Shokz韶音的主营业务。虽然Shokz韶音靠代工赚得了第一桶金,但军用耳机的垂直细分市场容量有限,市场…

java构造函数

Java中的构造函数是一种特殊类型的方法,用于在创建对象时初始化对象的状态。构造函数与类同名,没有返回类型,并且在创建对象时自动调用。它可以用于执行必要的初始化操作,例如设置对象的初始值、分配内存等。以下是一个简单的Java…

Python 实现冒泡排序算法

Python 实现冒泡排序算法 下面是用 Python 实现的冒泡排序算法示例代码: def bubble_sort(arr):n len(arr)# 遍历数组元素for i in range(n):# 每次遍历都将最大的元素移动到最后for j in range(0, n-i-1):# 如果相邻的元素逆序,则交换它们if arr[j] …

Kafka数据推送配置 | 如何设置账号密码验证?

背景:之前资产信息用网络接口进行数据推送,但是接口推送需要验证而且反应较慢。Kafak中间件提供了另一种可行的数据推送方式,它可以进行消息队列推送,且反应速度快。但是Kafka需部署在公网环境,并进行登录验证&#xf…

excel 动态列导出

excel动态列,只好用poi来写了,也并不复杂,一样就这个件事情抽像为几步,就是套路了,开发效率就上去了。 1 准备空模板 导出操作与excel模板的导出一样,可以参考excel导出标准化 2 自定义SheetWriteHandler …

网络信息安全:11个常见漏洞类型汇总

一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。 在设计程序,忽略了对输入字符串中夹带的SQL指令的检查&…

前端上传图片后如何回显图片

在前端上传图片后,可以使用以下几种方法进行回显: 1.使用FileReader API:这是一种常见的方法。在用户选择图片后,可以使用FileReader对象读取图片文件,并将其转换为Base64编码的字符串。然后,将该Base64字…

嵌入式学习 Day 30

消息队列、共享内存、信号灯: 1.IPC对象(内存文件) 1.ipcs 查看系统重的消息队列、共享内存、信号灯的信息 2.ipcrm 删除消息队列、共享内存、信号灯 ipcrm -Q/-M/-S key ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 2.消息队列 1.操作…

定时执行专家的主要功能和使用场景

定时执行专家是一款功能强大且实用的定时任务软件。它具有以下优点: 功能丰富: 支持多种定时模式、多种任务类型、丰富的触发方式、强大的日志功能等。易于使用: 操作界面简洁直观,易于上手。稳定可靠: 运行稳定可靠,可长期使用。 具体来说&…

【k8s管理--集群日志管理elk】

1、ELKF日志部署框架 使用docker部署的k8s集群所有的容器日志统一都在目录:/var/log/containers/1、filebeat是一个轻量级的日志手机工具,主要功能是收集日志2、logstash通可以收集日志,也可以进行数据清洗,但是一般不用logstash来…

WordPress 从入门到精通【设置 WordPress】

前言:为方便演示,前几张图使用 Playground 环境截取 如果你还不会部署WordPress,请看下面的链接并使用雨云可视化构建一个WordPress站点: 超简单EP面板搭建WordPress网站教程 - 风屿岛 10 (biliwind.com) 进入仪表盘 在搭建完…

面试问题总结(软实力相关)

最近在准备面试,整理一些面试常被问到一些非技术方面的软实力相关的,把这些问题烂熟于心,至少保证在回答的时候逻辑清晰。 1、自我介绍 需要展示你对这个目标岗位的理解,主动挖掘自己跟这个岗位的匹配点。 2、面试官反问&#xf…

分享Web.dev.cn中国开发者可以正常访问

谷歌开发者很高兴地宣布,web.dev 和 Chrome for Developers 现在都可以通过 .cn 域名访问,这将帮助中国的开发者更加容易获取我们的内容。 在 .cn 域名上,我们已向您提供所有镜像后的内容,并提供支持的语言版本。 Web.dev 中国开…

房屋中介服务平台的设计与实现(含源文件)

项目源码:https://gitee.com/oklongmm/biye2 在设计一个房屋中介服务平台时,我们需要考虑系统的可扩展性,易用性和稳定性。以下是系统设计的主要功能模块: 一、用户模块: 用户注册与登录:提供用户注册和登…

自然语言处理(NLP)练习题

问题:什么是自然语言处理(NLP)? 答案:自然语言处理(NLP)是一种人工智能技术,旨在让计算机理解和处理人类语言。NLP涉及语言学、计算机科学和人工智能等多个领域,旨在开发…

Vue项目中使用Mock.js进行API模拟

Vue项目中使用Mock.js进行API模拟 🌟 前言 欢迎来到我的小天地,这里是我记录技术点滴、分享学习心得的地方。📚 🛠️ 技能清单 编程语言:Java、C、C、Python、Go、前端技术:Jquery、Vue.js、React、uni-ap…

leetcode 经典题目42.接雨水

链接:https://leetcode.cn/problems/trapping-rain-water 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 思路分析 首先,我们需要遍历数组,对于每个元素&am…

特种车日常检修VR虚拟互动培训软件节省大量的教学资源和成本

随着科技的不断发展,虚拟现实(VR)技术已经逐渐融入了各行各业,其中特种车辆的养护教学也从中受益匪浅。VR虚拟仿真教学在特种车辆养护领域的应用,不仅创新了教学方式,还为提高学员的学习效果和实际操作技能提供了强有力的支持。 特…