Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
postcss-px-to-viewport-lagou
Advanced tools
A CSS post-processor that converts px to viewport units (vw, vh, rem, other).
This a fork of evrone/postcss-px-to-viewport
A plugin for PostCSS that generates viewport units (vw, vh, vmin, vmax) from pixel units.
If your project involves a fixed width, this script will help to convert pixels into viewport units. Support third library UI.
// input
.class {
margin: -10px .5vh;
padding: 5vmin 9.5px 1px;
border: 3px solid black;
border-bottom-width: 1px;
font-size: 14px;
line-height: 20px;
}
.class2 {
border: 1px solid black;
margin-bottom: 1px;
font-size: 20PX;
line-height: 30px;
}
@media (min-width: 750px) {
.class3 {
font-size: 16px;
line-height: 22px;
}
}
// output
.class {
margin: -3.125vw .5vh;
padding: 5vmin 2.96875vw 1px;
border: 0.9375vw solid black;
border-bottom-width: 1px;
font-size: 14px;
line-height: 6.25vw;
}
.class2 {
border: 1px solid black;
margin-bottom: 1px;
font-size: 20PX;
line-height: 9.375vw;
}
@media (min-width: 234.375vw) {
.class3 {
font-size: 16px;
line-height: 6.875vw;
}
}
'use strict';
var fs = require('fs');
var postcss = require('postcss');
var pxToViewport = require('..');
var css = fs.readFileSync('main.css', 'utf8');
var options = {
replace: false
};
var processedCss = postcss(pxToViewport(options)).process(css).css;
fs.writeFile('main-viewport.css', processedCss, function (err) {
if (err) {
throw err;
}
console.log('File with viewport units written.');
});
Default:
{
unitToConvert: 'px',
viewportWidth: 750,
viewportHeight: 1366, // not now used; TODO: need for different units and math for different properties
unitPrecision: 3,
viewportUnit: 'vw',
propertyBlacklist: ['font'],
selectorBlackList: [],
minPixelValue: 1,
exclude: [],
LibraryUI: [],
LibraryRate: 2,
libraryRoot: 'node_modules',
mediaQuery: false
}
unitToConvert
(String) unit to convert, by default, it is px.viewportWidth
(Number) The width of the viewport.viewportHeight
(Number) The height of the viewport.unitPrecision
(Number) The decimal numbers to allow the REM units to grow to.viewportUnit
(String) Expected units.propertyBlacklist
(Array) The selectors to ignore and leave as px.selectorBlackList
(Array) The selectors to ignore and leave as px.
['body']
will match .body-class
[/^body$/]
will match body
but not .body
minPixelValue
(Number) Set the minimum pixel value to replace.exclude
(Array) just like selectorBlackList.LibraryUI
(Array) example vux,miui. if style in LibraryUI, result = (2 * (x)px/viewportWidth) viewportUnitLibraryRate
(Number) vendor UI scale rate, example vux,miui LibraryRate is 2.libraryRoot
(String) example node_modules.mediaQuery
(Boolean) Allow px to be converted in media queries.var gulp = require('gulp');
var postcss = require('gulp-postcss');
var pxtoviewport = require('postcss-px-to-viewport');
gulp.task('css', function () {
var processors = [
pxtoviewport({
viewportWidth: 320,
viewportUnit: 'vmin'
})
];
return gulp.src(['build/css/**/*.css'])
.pipe(postcss(processors))
.pipe(gulp.dest('build/css'));
});
// webpack loader
loader: 'postcss-loader'
// .postcssrc.js
"postcss-px-to-viewport-lagou": {
viewportWidth: 750, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
viewportHeight: 1334, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数
viewportUnit: "rem", //指定需要转换成的视窗单位,建议使用vw
propertyBlacklist: ['border'],// 指定不转换为视窗单位的属性,可以自定义,可以无限添加,建议定义一至两个通用的类名
// selectorBlackList: ['.ignore', 'weui'],// 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
selectorBlackList: [],// 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
LibraryUI: ['vux'],// 使用的第三方ui库
libraryRoot: 'node_modules',// 使用的第三方ui库,目录
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
mediaQuery: false // 允许在媒体查询中转换`px`
},
if you write px(unitToConvert default) to PX, this plugin will not convert pixels into viewport units.
FAQs
A CSS post-processor that converts px to viewport units (vw, vh, rem, other).
The npm package postcss-px-to-viewport-lagou receives a total of 0 weekly downloads. As such, postcss-px-to-viewport-lagou popularity was classified as not popular.
We found that postcss-px-to-viewport-lagou demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.