首页 > 其他分享 >移动端适配方案总结之vw

移动端适配方案总结之vw

时间:2024-04-06 12:04:56浏览次数:22  
标签:总结 转换 适配 px 像素 视口 vw viewport

1、vw/vh是什么?
vw是:viewport width 视口宽度单位
vh是: viewport height 视口高度单位
实际开发中我们基本用vw;

2.相对视口的尺寸计算结果

1vw = 1/100视口宽度
1vh = 1/100视口高度

例如:
当前屏幕视口是 375像素,则 1vw 就是 3.75 像素, 如果当前屏幕视口为414,则 1vw 就是 4.14 像素;
注意事项:和百分比有区别的,百分比是相对于父元素来说的,而vw和vh总是针对于当前视口来说的。

3.vw/vh怎么用:

如何还原设计稿?
前提: 我们设计稿按照iPhone678 来设计,有个盒子是 50像素50像素的,如何使用vw呢?
分析:
①:设计稿参照iPhone678,所以视口宽度尺寸是 375像素
②:那么1vw是多少像素?
375px / 100 = 3.75px
③:我们元素的目标是多少像素?
50px * 50px
④:那么5050 是多少个vw?
50 / 3.75 = 13.3333vw

4、vw和rm区别:

在这里插入图片描述
5、px转换vw插件:

  • 只需要安装插件:postcss-px-to-viewport
  • 安装:npm install postcss-px-to-viewport --save-dev
  • vite配置参考如下:
//在vite.config.ts中
// vw方案(无像素差):px自动转换vw
import pxtovw from "postcss-px-to-viewport"
export default defineConfig({
  css: {
    postcss: {
      plugins: [
        autoprefixer({
          overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8']
        }),
        pxtovw({
          unitToConvert: 'px', // 要转化的单位
          viewportWidth: 750, //100vw=750px,UI设计稿的宽度,vant是375。可参考这个:https://juejin.cn/post/6961737808339795975
          unitPrecision: 6, // 转换后的精度,即小数点位数
          propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
          viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw
          fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
          selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名,
          minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
          mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
          replace: true, // 是否转换后直接更换属性值
          landscape: false, // 是否处理横屏情况
          // exclude: [/node_modules\/vant/i]
        })
      ],
    },
  },

})

标签:总结,转换,适配,px,像素,视口,vw,viewport
From: https://blog.csdn.net/qq_42931285/article/details/137424394

相关文章

  • 设计模式总结-桥接模式
    桥接模式模式动机模式定义模式结构模式分析桥接模式实例与解析实例一:模拟毛笔模式优缺点模式动机设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:第一种设计方......
  • 设计模式总结-适配器模式
    适配器模式模式动机模式定义模式结构适配器模式实例与解析实例一:仿生机器人实例二:加密适配器总结模式动机在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客......
  • vscode通过ssh连接服务器(吐血总结)
    一、通过ssh连接服务器1、打开vscode,进入拓展(Ctrl+Shift+X),下载拓展Remote-SSH。2、点击远程资源管理器选项卡,选择远程(隧道/SSH)类别。3、点击SSH配置。4、在中间上部分弹出的配置文件中点击第一个....config。5、在点进的config文件中输入以下内容。ps:这里的hostn......
  • 模拟赛总结
    23-24term19.17最可惜的是t4:把b放在a后面就形成了一个长为2*m的LIS。我想到了LIS但是一直觉得无法保证长度为m所以直接hack掉自己的想法。。(虽然LIS时间复杂度10^7理论是可以过的。)太可惜了。当然也可以搜索剪枝(你是傻子你不会dfs你别想了)T2:转移方程脑子炸了想了好久,然后还没......
  • 【工作总结】工作为什么总是手忙脚乱
    建立自主领域不知道同学们在工作中有没有出现这样一个场景你手上正在忙明天要交的事情......领导:这个事情很着急,你赶紧处理一下你:我手里正在忙,脱不开身领导:忙也要给我做完,加班也好,怎么样也好都随你,反正我明天两个都要你:苦逼996加班中.....怎么......
  • 机器学习知识点全面总结
    机器学习按照模型类型分为监督学习模型、无监督学习模型两大类。1、有监督学习有监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。Y=f(X),训练数据通常是(n×x,y)的形式,其中n代表训练样本的大小,x和y分别是变量X和Y的样本值。......
  • 20240405比赛总结
    寄的很惨T1[JLOI2014]聪明的燕姿https://gxyzoj.com/d/hzoj/p/3672敲个警钟,千万不要用一些奇怪的方法写自己会的题,不然大概率会一分不剩由小学奥数知识,约数和的求法为\(\prod(1+p_i^2+p_i^3+\dots+p_i^{a_i})\)所以,可以先线性预处理出约数和,再直接统计,时间复杂度\(O(nk)\)......
  • 总结一下在搭建后端系统时所需要的模块
    安全与验证模块:安全验证模块:包括身份验证、授权、访问控制等。校验模块:对输入数据进行验证,防止无效或恶意数据。数据管理与处理模块:数据库连接模块:负责与数据库建立连接并执行操作。数据转换模块:处理数据的格式转换和映射。缓存模块:存储常用数据以提高性能。基础架构模......
  • 设计模式总结-简单工厂模式
    简单工厂模式创建型模式创建型模式概述创建型模式种类简单工厂模式模式定义模式动机模式结构模式分析模式实例与解析实例一:简单电视机工厂实例二:权限管理模式优缺点简单工厂模式的优点简单工厂模式的缺点模式适用环境模式扩展小结创建型模式创建型模式概述创建......
  • 开关二极管选型参数,结构原理,工艺与注意问题总结
      ......