first
This commit is contained in:
68
node_modules/vant/lib/utils/format/unit.js
generated
vendored
Normal file
68
node_modules/vant/lib/utils/format/unit.js
generated
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.addUnit = addUnit;
|
||||
exports.unitToPx = unitToPx;
|
||||
|
||||
var _ = require("..");
|
||||
|
||||
var _number = require("../validate/number");
|
||||
|
||||
function addUnit(value) {
|
||||
if (!(0, _.isDef)(value)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
value = String(value);
|
||||
return (0, _number.isNumeric)(value) ? value + "px" : value;
|
||||
} // cache
|
||||
|
||||
|
||||
var rootFontSize;
|
||||
|
||||
function getRootFontSize() {
|
||||
if (!rootFontSize) {
|
||||
var doc = document.documentElement;
|
||||
var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
|
||||
rootFontSize = parseFloat(fontSize);
|
||||
}
|
||||
|
||||
return rootFontSize;
|
||||
}
|
||||
|
||||
function convertRem(value) {
|
||||
value = value.replace(/rem/g, '');
|
||||
return +value * getRootFontSize();
|
||||
}
|
||||
|
||||
function convertVw(value) {
|
||||
value = value.replace(/vw/g, '');
|
||||
return +value * window.innerWidth / 100;
|
||||
}
|
||||
|
||||
function convertVh(value) {
|
||||
value = value.replace(/vh/g, '');
|
||||
return +value * window.innerHeight / 100;
|
||||
}
|
||||
|
||||
function unitToPx(value) {
|
||||
if (typeof value === 'number') {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (_.inBrowser) {
|
||||
if (value.indexOf('rem') !== -1) {
|
||||
return convertRem(value);
|
||||
}
|
||||
|
||||
if (value.indexOf('vw') !== -1) {
|
||||
return convertVw(value);
|
||||
}
|
||||
|
||||
if (value.indexOf('vh') !== -1) {
|
||||
return convertVh(value);
|
||||
}
|
||||
}
|
||||
|
||||
return parseFloat(value);
|
||||
}
|
Reference in New Issue
Block a user