移动端h5自适应rem适配

倖福魔咒の 提交于 2019-12-02 21:37:27

一、rem适配方法,适合窗口大小可能会改变 以及设计图小于750,或者大于750设计稿的情况
  该方法,将100px为1rem,根据设计稿尺寸 缩小100就为 rem,
  例如:font-size:14px,换成rem就为0.14rem, div{width:10px;}换成rem就是div{width:0.10rem;}

<script>
fnResize()
  window.onresize = function () {
  fnResize()
}
function fnResize() {
  var deviceWidth = document.documentElement.clientWidth || window.innerWidth
  if (deviceWidth >= 750) {
    deviceWidth = 750
  }
  if (deviceWidth <= 320) {
    deviceWidth = 320
  }
  document.documentElement.style.fontSize = (deviceWidth / 7.5*2) + 'px'
}
</script>

二、rem适配方法,适合移动设备为固定的某个宽度,以及设计图为固定的某个值例如750,或者pad,1920的情况
  该方法,将100px为1rem,根据设计稿尺寸 缩小100就为 rem,
  例如:font-size:14px,换成rem就为0.14rem, div{width:10px;}换成rem就是div{width:0.10rem;}
  

/**
* 页面自适应方法 使用rem单位
* 需要根据布局视口的尺寸动态设置font-size的值
* 无论在什么设备下,我们页面的总宽度都是19.2rem,所以我们直接在设计图上测量px单位的尺寸,然后除以100转换成rem单位后直接使用就可以了
* 比如,在设计图中测量一个元素的尺寸为200px,那么转换成rem单位就是 200 / 100 = 2rem
*/
document.documentElement.style.fontSize =
document.documentElement.clientWidth / 19.2 + 'px';


/**

* 移动端自适应,移动端一定要在头 <head>标签里面加入这段标签,以适应不同手机的视口
*/
<head>

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

</head>
// <!--content-->
// <!--width=device-width 可视区域的宽度,值可为数字或关键词device-width-->
// <!--height=device-height 可视区域的高度,值可为数字或关键词device-height-->
// <!--user-scalable=yes/no 是否可对页面进行缩放,no 禁止缩放-->
// <!--initial-scale=1.0 页面首次被显示是可视区域的缩放级别,取值1.0则页面按实际尺寸显示,无任何缩放-->
// <!--minimum-scale=1.0 可视区域的缩小级别-->
// <!--maximum-scale=1.0 可视区域的放大级别-->

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!