vue3实现本地开发使用的px转换成vw,px转换成rem方法整理

前言:

        项目中如果想本地开发使用px,但是界面上线以后界面是自适应的效果,可以有多种方式来实现效果。

一、px转成vw

1、安装,安装成功后,node_modules 会新增这两个插件包

npm i postcss-px-to-viewport-8-plugin

2、新增  postcss.config.js 文件

module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
    "postcss-px-to-viewport-8-plugin": {
      // (String) 需要转换的单位,默认为"px"            
      unitToConvert: 'px',
      // (Number) 设计稿的视口宽度            
      viewportWidth: 1920,
      // (Number) 单位转换后保留的精度            
      unitPrecision: 5,
      /**             
      * (Array) 能转化为vw的属性列表             
      * 传入特定的CSS属性;             
      * 可以传入通配符""去匹配所有属性,例如:[''];             
      * 在属性的前或后添加"*",可以匹配特定的属性. (例如['position'] 会匹配 background-position-y)             
      * 在特定属性前加 "!",将不转换该属性的单位 . 例如: ['*', '!letter-spacing'],将不转换letter-spacing             
      * "!" 和 ""可以组合使用, 例如: ['', '!font*'],将不转换font-size以及font-weight等属性             
      */
      propList: ['*'],
      // (String) 希望使用的视口单位            
      viewportUnit: 'vw',
      // (String) 字体使用的视口单位            
      fontViewportUnit: 'vw',
      /**             
      * (Array) 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。             
      * 如果传入的值为字符串的话,只要选择器中含有传入值就会被匹配:例如 selectorBlackList 为 ['body'] 的话, 那么 .body-class 就会被忽略             
      * 如果传入的值为正则表达式的话,那么就会依据CSS选择器是否匹配该正则:例如 selectorBlackList 为 [/^body$/] , 那么 body 会被忽略,而 .body 不会             
      */
      selectorBlackList: [],
      // (Number) 设置最小的转换数值,如果为1的话,只有大于1的值会被转换            
      minPixelValue: 1,
      // (Boolean) 媒体查询里的单位是否需要转换单位            
      mediaQuery: false,
      // (Boolean) 是否直接更换属性值,而不添加备用属性            
      replace: true,
      /**             
      * (Array or Regexp) 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件             
      * 如果值是一个正则表达式,那么匹配这个正则的文件会被忽略             
      * 如果传入的值是一个数组,那么数组里的值必须为正则             
      */
      exclude: undefined,
      /**             
      * (Array or Regexp) 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件 (include: /\/src\/mobile\//)             
      * 如果值是一个正则表达式,将包含匹配的文件,否则将排除该文件             * 如果传入的值是一个数组,那么数组里的值必须为正则             
      */
      include: undefined,
      // (Boolean) 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)            
      landscape: false,
      // (String) 横屏时使用的单位            
      landscapeUnit: 'vw',
      // (Number) 横屏时使用的视口宽度            
      landscapeWidth: 1920

    },
  },
}

二、px转成rem

1、安装

npm i postcss    postcss-preset-env    postcss-pxtorem

2、 新增  postcss.config.js 文件

 module.exports = {
       plugins: {
         'postcss-preset-env': {
           autoprefixer: true,
         },
         'postcss-pxtorem': {
           rootValue: 16, // 基准字体大小
           unitPrecision: 5, // 转换后的rem保留小数点位数
           propList: ['*'], // 要转换的属性,默认转换所有属性
         },
       },
     };

3、其他px->rem的方法:使用插件lib-flexible

vue-cli3.0搭建移动端项目的适配问题以及解决第三方组件样式受影响的问题_npm 移动端预docx ppx-CSDN博客文章浏览阅读896次。前言: 我们之前使用的解决移动端适配常用的方法是媒体查询+rem,em,这种适合小的项目,而且每次rem值计算也太麻烦了点,这里列出现在常用的另一种方法就是:lib-flexible和 postcss-px2rem-exclude来完美的解决适配问题。步骤一:安装lib-flexible - 适配插件,自动添加头部 meta1 安装npm install lib-..._npm 移动端预docx ppxhttps://blog.csdn.net/qq_41619796/article/details/102778379?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170347335516800213088403%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170347335516800213088403&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-102778379-null-null.nonecase&utm_term=rem&spm=1018.2226.3001.4450

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

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

相关文章

微信小程序预览pdf,修改pdf文件名

记录微信小程序预览pdf文件,修改pdf名字安卓和ios都可用。 1.安卓和苹果的效果 2.需要用到的api 1.wx.downloadFile wx.downloadFile 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载…

新能源重型卡车,2025年将达275亿美元

随着新能源汽车的推出,重型卡车市场正在经历重大变革。近年来,由于对可持续交通的需求不断增加以及向环保替代品的转变,新能源重型卡车市场的增长非常显着。本次分析将考察全球和中国新能源重型卡车市场的发展趋势。 在全球范围内&#xff…

浅谈矿山井下IT配电系统绝缘监测的应用

摘要:众所周知,能源作为经济发展的重要引擎,堪称是国民经济的命脉。采矿业一直是能源工业的重要支柱,我国的矿业生产主要来自井下开采,环境恶劣,就以煤矿为例,煤矿井下存在水、火、瓦斯、煤尘、…

Kali渗透-MSF木马免杀技术

前言 免杀技术全称为反杀毒技术 Anti-Virus 简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等技术,内容基本上都是修改病毒、木马的内容改变特征码&#…

四大“水刊“之一,热度依旧不减,发文量破万!

期刊简介 2区计算机工程类SCI 【期刊概况】IF:4.0-5.0,JCR2区,中科院3区; 【终审周期】走期刊部系统,3-5个月左右录用; 【检索情况】SCI检索; 【WOS收录年份】2011年; 【自引率…

湘沪数字产业(上海)协同创新中心正式启动!

前言 随着全球化的加速和市场竞争的日益激烈,产业协作已成为推动科技创新和经济发展的重要手段。在创新驱动战略的推动下,全国形成了在科创核心城市建设科创中心的浪潮,旨在充分利用不同区域的产业优势,加强产业协作,…

德思特新闻 | 德思特PANORAMA天线与Robustel(鲁邦通)建立合作

来源:德思特测试测量 德思特新闻 | 德思特PANORAMA天线与Robustel(鲁邦通)建立合作 原文链接:https://mp.weixin.qq.com/s/Cn9BIMsvORHfakS6uSMw7w 欢迎关注虹科,为您提供最新资讯! 德思特新闻 德思特Pa…

Mac使用Python的tkinter显示异常解决方案

显示异常的原因&#xff1a; macOS版本>12 & python版本<3.9.8 参考文档 :https://www.python.org/download/mac/tcltk/ 如果python版本过低&#xff1a; brew upgrade python: 升级python版本 brew install python-tk: 安装最新的tk版本 python -m tkinter : 弹…

直播美颜SDK对比:技术选型与性能优化

当下&#xff0c;直播美颜SDK层出不穷&#xff0c;本文将对直播美颜SDK进行深入对比&#xff0c;探讨它们在技术选型和性能优化方面的差异。 一、技术选型比较 1.算法核心 不同的直播美颜SDK采用了不同的美颜算法核心。有的使用传统的图像处理算法&#xff0c;如美白、磨皮、…

用友GRP-U8 SmartUpload01 文件上传漏洞

漏洞描述 用友GRP-U8行政事业内控管理软件是一款专门针对行政事业单位开发的内部控制管理系统&#xff0c;旨在提高内部控制的效率和准确性。该软件/u8qx/SmartUpload01.jsp接口存在文件上传漏洞&#xff0c;未经授权的攻击者可通过此漏洞上传恶意后门文件&#xff0c;从而获取…

拓扑排序图解-Kahn算法和深度优先搜索

拓扑排序 是将一个有向无环图中的每个节点按照依赖关系进行排序。比如图 G G G存在边 < u , v > <u,v> <u,v> 代表 v v v的依赖 u u u, 那么在拓扑排序中&#xff0c;节点 u u u一定在 v v v的前面。 从另一个角度看&#xff0c;拓扑排序是一种图遍历&#…

Poe会员开通保姆级教程

1 为何选择Poe&#xff1f; 原因如下&#xff1a; 免费版每天可以试用GPT4一次&#xff1b;会员版每月能发送600条GPT-4和1000条Claude消息&#xff1b;月费为19.99美元&#xff0c;年费为199.99美元&#xff0c;与ChatGPT Plus的费用几乎一致&#xff1b;背景稳固&#xff0c…

Windows iscsi

题目&#xff1a;Windows ISCSI 创建100G的ISCSI磁盘&#xff0c;存储到F盘目录下的iSCSI文件夹。 启用Mutual CHAP认证。 DCSERVER为iSCSI客户端&#xff0c;连接成功后&#xff0c;格式化挂载到F盘。 IspSrv端配置 安装ISCSI服务 配置ISCSI服务 DCSERVER端配置 发起ISC…

ESD和TVS管的区别

ESD和TVS管的区别 首先说ESD和TVS管都属于保护器件。ESD全称为Electro-Staticdischarge&#xff0c;叫做静电放电保护二极管&#xff1b;TVS全称为Transient Voltage Suppressors&#xff0c;叫做瞬变电压抑制二极管。 ESD和TVS的区别主要在功率、应用场合和封装。 ESD的保护…

BUUCTF——Reverse——新年快乐

1、题目 2、工具 Exeinfo PE&#xff1a;查壳工具。万能脱壳工具 ​​​​​​​IDA&#xff1a;是一款功能强大的反汇编工具&#xff0c;用于分析和逆向工程二进制文件。 3、题目 下载压缩包并解压&#xff0c;得到一个.exe文件。 打开文件&#xff0c;要求输入flag&#x…

java爬虫技术之Selenium爬虫

目录 前言 一、什么是代理IP&#xff1f; 二、为什么要使用代理IP&#xff1f; 三、使用Selenium爬虫结合代理IP进行爬取 1. 安装Selenium和浏览器驱动 2. 导入相关库和模块 3. 设置代理IP 4. 访问目标网页 5. 提取数据 6. 关闭浏览器驱动 四、总结 前言 Selenium爬…

Mybatis三 | 动态SQL

目录 if where set ctrl alt l格式化SQL语句 随着用户的输入或外部条件的变化而变化的SQL称为动态SQL if <if>用来判断条件是否成立&#xff0c;使用test属性进行条件判断&#xff0c;如果true&#xff0c;则拼接SQL where wehre元素只会在有条件成立的情况下才插入…

Leaning Method

001用分布在两个地方的两台办公电脑开发一个项目&#xff0c;计划使用gitee同步代码。具体应该怎么操作&#xff1f; 要使用 Gitee 同步代码&#xff0c;你可以按照以下步骤进行操作&#xff1a; 在两台办公电脑上都安装 Git 客户端&#xff0c;并在 Gitee 上创建一个项目仓库…

C语言——字符函数和字符串函数(三)【strtok,strerror,perror】

&#x1f4dd;前言&#xff1a; 上一篇文章C语言——字符函数和字符串函数&#xff08;二&#xff09;对字符函数和字符串函数strstr&#xff0c;strcmp和strncmp进行了一定的讲解 这篇文章主要讲解以下函数的用法: 1&#xff0c;strtok 2&#xff0c;strerror 3&#xff0c;pe…

AI工程化与低代码:加速人工智能应用开发的新趋势

随着人工智能&#xff08;AI&#xff09;技术的广泛应用&#xff0c;AI工程化在开发领域中变得越来越重要。而低代码开发平台的出现&#xff0c;进一步加速了AI应用的开发和部署过程。本文将介绍AI工程化的概念&#xff0c;探讨低代码如何助力开发者快速构建和部署AI应用&#…