UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

40 lines (34 loc) 1.3 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; exports.caculateRemToPx = caculateRemToPx; exports.removeRemUnit = removeRemUnit; var _nukeEnv = require('../Env/index.js'); /** * @description parse rem to even px to solve andoird float px issue. */ function caculateRemToPx(rem) { var defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 750; // Default 1 rem to 1 px if ((typeof rem === 'undefined' ? 'undefined' : _typeof(rem)) === 'object' && 'raw' in rem) { rem = rem.raw; } if (_nukeEnv.isWeex) return rem; rem = exports.removeRemUnit(rem); var defaultPixUnit = document.documentElement.clientWidth / defaultWidth; var num = Math.round(parseFloat(rem) * defaultPixUnit); if (num % 2 === 0) { return num + 'px'; } return num - 1 + 'px'; } /** * @description remove rem unit for string like 12rem => 12 * @param {string or number} rem */ function removeRemUnit(rem) { rem = String(rem); return rem.replace('rem', ''); }