关于将px转换为vw vh的解决方案
什么是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的解决方案的更多相关文章
- px转vw和vh的工具(对前端同学有用)
CSS3中有两个新尺寸单位vw和vh, 这两个单位非常适合于开发移动端自适应页面. 假如说有一个设计师做了一张1136x750px的页面,这长页面是针对iPhone6的屏幕设计的. 前端开发工程师将这 ...
- 【学习笔记】响应式布局的常用解决方案(媒体查询、百分比、rem、和vw/vh)
原文转载:https://blog.csdn.net/sinat_17775997/article/details/81020417 一.媒体查询 不同物理分辨率的设备,在还原设计稿时,css中设置的 ...
- css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
原文地址: http://blog.csdn.net/jyy_12/article/details/42557241 px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果 ...
- css中px em rem vw vh vmax vmin等单位的区别--转载
px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对 ...
- HTML-移动端-rem px vw vh 的转换
vw/vh rem px 三者的转换(快速入门移动端页面编写) 1:三种单位的转换 2:如何适配移动端的不同设备 前提知识: 手机端的长宽是实际设计过程中的两倍 比如手机端是 750 * 1200 那 ...
- 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 %,大概可以分为几种"绝对单位"和"相对单位"和" ...
- px-rem px转换为rem的工具
将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 将px转换为rem的工具 怎样转换静态文件 安装: npm install px- ...
- px-rem 一个将px转换为rem的工具
将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 怎样转换静态文件 安装: npm install px-rem -g 然后跑下命令 ...
- css中vw,vh单位对于UC的兼容性问题
vw,vh单位在移动端浏览器不兼容,在网上找半天也没找到什么官方的解决方法:我就试了一下在使用到vh的单位之前添加一个用px定义的样式: 如: 当浏览器不是别100vw单位的时候 就会赋给px单位的样 ...
随机推荐
- 2021 年终总结:内推40人、全网15万粉、Code Runner 3000万下载、发扬WLB、进军视频领域
时光飞逝,岁月如梭,蓦然回首,已是年底. 感觉写 2020 年终总结还是在不久之前.转眼间,2021 已经接近尾声了.是时候来写写 2021 年的年终总结了. 内推 40 人 2019 年,内推了 2 ...
- 基于MCRA-OMLSA的语音降噪(二):实现
上篇文章(基于MCRA-OMLSA的语音降噪(一):原理)讲了基于MCRA-OMLSA降噪的原理,本篇讲怎么做软件实现.软件实现有多种方式.单纯看降噪效果可用python,因为python有丰富的库可 ...
- a.equals(b) 判断对象相等
一.值是null的情况: 1.a.equals(b), a 是null, 抛出NullPointException异常. 2.a.equals(b), a不是null, b是null, 返回fals ...
- uniapp与webview之间的相互传值
1.uni-app 如何发送数据到 H5? 其实很接单.在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中: <template> <v ...
- Rank & Sort Loss for Object Detection and Instance Segmentation 论文解读(含核心源码详解)
第一印象 Rank & Sort Loss for Object Detection and Instance Segmentation 这篇文章算是我读的 detection 文章里面比较难 ...
- JDK HttpClient 单次请求的生命周期
HttpClient 单次请求的生命周期 目录 HttpClient 单次请求的生命周期 1. 简述 2. uml图 3. Http连接的建立.复用和降级 3.1 调用流程及连接的建立和复用 3.2 ...
- Java二、八、十、十六进制介绍
1.说明 在Java中整数有四种表示方式, 分别为十进制,二进制,八进制,十六进制, 其中十进制就是平常最熟悉,使用最多的进制: 二进制是在计算机中使用最多的进制, 八进制和十六进制都是基于二进制的, ...
- Python_关于python2的encode(编码)和decode(解码)的使用
在使用Python2时,我们习惯于在文件开头声明编码 # coding: utf-8 不然在文件中出现中文,运行时就会报错 SyntaxError: Non-ASCII character... 之类 ...
- go.mod file not found in current directory or any parent directory; see 'go help modules'
go的环境设置问题,执行 go env -w GO111MODULE=auto 我的环境:Windows 7, Go 1.17 D:\Apps\GOPATH\src\code.oldboyedu.co ...
- 修正了Model1模式,进入如今盛行的的Model2模式,也就是MVC模式
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513668601843548675/ 1.<JSP页面实际上就是Servlet> 2.<JSP页 ...