什么是vw(Viewport Width)和vh(Viewport Height)?
  vw和vh是前端开发中的一个动态单位,是一个相对于网页视口的单位。
  系统会将视口的宽度和高度分为100份,1vw占用视口宽度的百分之一,1vh占用视口高度的百分之一。
  vw、vh和百分比不同的是,百分比永远都是以父元素为参考,而vw、vh是以视口作为参考。

  结论:vw、vh是一个动态的单位,会随着视口的变化而变化(相对单位)。

我个人在做Vue项目的时候,一边想用vw、vh进行布局,一边又觉得px布局方便,因为蓝湖上边的切图是直接有视图的px大小。

所以就想如果有一个方案可以解决px转换为vw vh就太好不过了,我这边是直接在.postcssrc.js里边进行配置,下边是我的代码,大家可以参考一下,有问题请指出问题

1. npm i postcss-px-to-viewport -D
2. 在项目根目录下添加.postcssrc.js文件
3. 添加如下配置:

 1 const path = require('path');
2
3 module.exports = ({ file }) => {
4 const designWidth = file.dirname.includes(path.join('node_modules', 'vant')) ? 375 : 750;
5
6 return {
7 plugins: {
8 autoprefixer: {},
9 "postcss-px-to-viewport": {
10 unitToConvert: "px", // 要转化的单位
11 viewportWidth: designWidth, // UI设计稿的宽度
12 unitPrecision: 6, // 转换后的精度,即小数点位数
13 propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
14 viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw
15 fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw
16 selectorBlackList: ["wrap"], // 指定不转换为视窗单位的类名,
17 minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
18 mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
19 replace: true, // 是否转换后直接更换属性值
20 exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
21 landscape: false // 是否处理横屏情况
22 }
23 }
24 }
25
26 }

添加完配置之后需要重新运行

这个方案可以在我的Vue项目中直接把px单位转换为vw、vh

关于将px转换为vw vh的解决方案的更多相关文章

  1. px转vw和vh的工具(对前端同学有用)

    CSS3中有两个新尺寸单位vw和vh, 这两个单位非常适合于开发移动端自适应页面. 假如说有一个设计师做了一张1136x750px的页面,这长页面是针对iPhone6的屏幕设计的. 前端开发工程师将这 ...

  2. 【学习笔记】响应式布局的常用解决方案(媒体查询、百分比、rem、和vw/vh)

    原文转载:https://blog.csdn.net/sinat_17775997/article/details/81020417 一.媒体查询 不同物理分辨率的设备,在还原设计稿时,css中设置的 ...

  3. css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况

    原文地址: http://blog.csdn.net/jyy_12/article/details/42557241 px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果 ...

  4. css中px em rem vw vh vmax vmin等单位的区别--转载

    px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对 ...

  5. HTML-移动端-rem px vw vh 的转换

    vw/vh rem px 三者的转换(快速入门移动端页面编写) 1:三种单位的转换 2:如何适配移动端的不同设备 前提知识: 手机端的长宽是实际设计过程中的两倍 比如手机端是 750 * 1200 那 ...

  6. css单位介绍em ex ch rem vw vh vm cm mm in pt pc px

    长度单位主要有以下几种em ex ch rem vw vh vm cm mm in pt pc px %,大概可以分为几种"绝对单位"和"相对单位"和" ...

  7. px-rem px转换为rem的工具

    将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 将px转换为rem的工具 怎样转换静态文件 安装: npm install px- ...

  8. px-rem 一个将px转换为rem的工具

    将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 怎样转换静态文件 安装: npm install px-rem -g 然后跑下命令 ...

  9. css中vw,vh单位对于UC的兼容性问题

    vw,vh单位在移动端浏览器不兼容,在网上找半天也没找到什么官方的解决方法:我就试了一下在使用到vh的单位之前添加一个用px定义的样式: 如: 当浏览器不是别100vw单位的时候 就会赋给px单位的样 ...

随机推荐

  1. python学习第六天:python基础(dict、set)

    dict dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 创建&取值 为什么dict查找速度这么快? 因为 ...

  2. PLSQL到期处理

    一.输入指令"regedit"打开注册表 二.指令输入完毕后,按回车键,会进入这个界面. 三.注册表里按HKEY_CURRENT_USER\Software\Allround Au ...

  3. 利用数学软件Mathematica的三维图像进行建模

    前言 最近在使用Mathematica进行二元函数的图像绘制,在导出图像选项中看到了obj,maya等三维格式.其实很早之前我就有过这样的想法,但之前使用的是matlab作图,无法导出三维格式.那么废 ...

  4. CS5211替代PS8625|设计EDP转LVDS转接屏方案|替代PS8625

    PS8625将作为DP或eDP接收器设备出现在视频源中,并将作为LVDS显示面板的LVDS源设备.该设备是一个完全集成的解决方案,不需要外部CPU.内存.时钟基准或电压调节器.PS8625可配置为从显 ...

  5. 使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额

    查看本章节 查看作业目录 需求说明: 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额 消费金额在 200 元以上的会员折扣是 7.5 折,消费金额没有达到 200 元的会员折扣是 ...

  6. Flask_环境部署(十六)

    flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序并使用 Nginx 做前端代理实现分流.转发.负载均衡,以及分担服务器的压力. Gunicor ...

  7. Django_视图中的request对象详解(八)

    本文参考:http://www.cnblogs.com/MnCu8261/p/5871085.html Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并 ...

  8. 使用Spring容器动态注册和获取Bean

    有时候需要在运行时动态注册Bean到Spring容器,并根据名称获取注册的Bean.比如我们自己的SAAS架构的系统需要调用ThingsBoard API和Thingsboard交互,就可以通过Thi ...

  9. JUC并发编程与高性能内存队列disruptor实战-上

    JUC并发实战 Synchonized与Lock 区别 Synchronized是Java的关键字,由JVM层面实现的,Lock是一个接口,有实现类,由JDK实现. Synchronized无法获取锁 ...

  10. Android一句话 | View事件分发

    View中,无论是down,move,还是up,事件都是这样传递的:由dispatchTouchEvent到onTouch,再到onTouchEvent,click是在onTouchEvent中的. ...