前端H5移动端自动适配

rem布局

使用 js 动态设置 font-size

原理:动态设置html根元素的font-size,其大小实际上是可视界面中宽度的1 / 10

js代码如下:

// REM布局
function setFontSize() {
  var _document = document,
    _documentElement = _document.documentElement,
    html = _document.getElementsByTagName('html')[0],
    width = _documentElement && _documentElement.clientWidth && _documentElement.clientWidth ||
    window.innerWidth && window.innerWidth ||
    _document.body.clientWidth
  // 1rem = 浏览器的1/10宽
  _documentElement.style.fontSize = width / 10 + 'px'
}!(function () {
  setFontSize()
  window.addEventListener('resize', function () {
    setTimeout(function () {
      setFontSize()
    }, 16)
  })
})()

rem+vw布局

下面以设计稿为750px为基准设置css以适配移动端:

html {
  font-size: 20vw
}

@media screen and (max-width:320px) {
  html {
    font-size: 64px
  }
}

@media screen and (min-width:540px) {
  html {
    font-size: 108px
  }
}

下面设置body可以使H5在浏览器中限制宽度。

body {
  margin: 0 auto;
  max-width: 540px;
  min-width: 320px;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值