baozhengrui

导航

获取rem像素转换比例 flag为true返回数字

// 获取rem像素转换比例 flag为true返回数字
export function getRem(px, flag) {
  px = (px || 0) + ''
  if (!(px.indexOf('%') !== -1 || px.indexOf('rem') !== -1)) {
    px = (Number(px) / 40) + 'rem'
  }

  if (flag) {
    return Number(px.replace('rem', ''))
  }
  return px
}

// 获取基于1366 1rem为40px的基本像素
export function getPx(rem, dom, type) {
  rem = (rem || 0) + ''
  if (rem.indexOf('%') !== -1) {
    return Number(rem.split('%')[0]) / 100 * dom.parentNode[{
      'w': 'offsetWidth',
      'h': 'offsetHeight',
      't': 'offsetTop',
      'l': 'offsetLeft'
    }[type || 'w']] / getPx(document.documentElement.style.fontSize) * 40
  }
  if (rem.indexOf('rem') !== -1) {
    return 40 * Number(rem.split('rem')[0])
  }

  if (rem.indexOf('px') !== -1) {
    return Number(rem.split('px')[0])
  }
  return Number(rem)
}

posted on 2024-09-10 09:22  芮艺  阅读(1)  评论(0编辑  收藏  举报