UNPKG

px2vw-mobile

Version:

![](https://img.shields.io/npm/dt/px2vw-mobile.svg) ![](https://img.shields.io/npm/v/px2vw-mobile.svg) ![](https://img.shields.io/badge/language-nodeJS-red.svg) # 介绍

88 lines (65 loc) 2.67 kB
![](https://img.shields.io/npm/dt/px2vw-mobile.svg) ![](https://img.shields.io/npm/v/px2vw-mobile.svg) ![](https://img.shields.io/badge/language-nodeJS-red.svg) # 介绍 这是一个webpack的loader,一段nodeJs程序。核心功能:把px转化成vw,针对移动端的样式做适配。 # 安装 npm i px2vw-mobile -D or yarn add px2vw-mobile -D # 使用 webpack.config.js : ```js module.exports = { module: { rules: [ { test: /\.mobile$/,//可以指定处理自定义后缀名的样式文件 use: [MiniCssExtractPlugin.loader, { loader: 'css-loader', }, { loader: 'px2vw-mobile', options: { width: 750,//设计稿的宽度 precision:2,//转换后保留的小数位数 unit:'vw',//转换后的单位,视口的宽度 minPx: 12//小于等于 12px 的不会被转换 } }] } ]} } ``` # 能力 - 支持px to vw ✅ - 支持指定单位精确到的小数位数 ✅ - 支持最小不被转换的像素值(例如:一些微距,不希望动态变化,影像布局差异化)✅ - 支持标有 /* no */ 的样式语句不被转换 ——TODO - 支持配置的黑名单属性是不会进行转化的,例如:font-size、border ——TODO <!-- - 支持指定处理自定义后缀名的样式文件 --> # API - width: 750, //(Number) UI design px - precision:2, //(Number) The decimal numbers - unit:'vw', //(String) 可选值 vw rem(TODO) - minPx: 1, //(Number) If minimum px greater than or equal can change from px to vw # 其他说明 - 默认参数: width:750, unit:'vw', precision:2, minPx: 4 - vw 模式下:width 必传 - 小于等于 minPx 原样返回px - 标记了 /* no */ 原样返回px ---TODO ## TODO 功能 px2rem: - dpr:1, (Number) 1,2,3 - rootPx 跟元素的font-size - dpr 几倍屏幕 得到1rem = rootPx * dpr 正常是运行时,是去读 window.devicePixelRatio。这里想手动设定好dpr给一个额定输出。 - rem 模式下:rootPx 必传 ## 同类插件 postcss-px-to-viewport # 相关知识 - rem 和 vw 都是移动端适配 较为 主流的方案,rem 比 vw 要早,因为当时vw很多浏览器还不支持。现在基本没有这个问题后,vw也很普遍了。 - 视口:可视区域。 - vw :vw是视口单位,“viewport width” 的缩写。一个屏幕的宽度 = 100vw,所以 1vw = 1/100 屏幕宽度。由于网页的纵向是可以无限延展滚动的,所以适配问题,只是产生于在宽度方向上的。