UNPKG

weex-nuke

Version:

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

27 lines (26 loc) 742 B
import { isWeex } from 'nuke-env'; /** * @description parse rem to even px to solve andoird float px issue. */ export function caculateRemToPx(rem, defaultWidth = 750) { // Default 1 rem to 1 px if (typeof rem === 'object' && 'raw' in rem) { rem = rem.raw; } if (isWeex) return rem; rem = exports.removeRemUnit(rem); const defaultPixUnit = document.documentElement.clientWidth / defaultWidth; const 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 */ export function removeRemUnit(rem) { rem = String(rem); return rem.replace('rem', ''); }