使用 阿里的解决方案 flexible
设计稿横屏: 1334 * 750
设计稿竖屏: 750 * 1334
let docEl = document.documentElement
function refreshRem (){
let width = docEl.getBoundingClientRect().width
let realWidth = width / dpr
if (realWidth > 1000 ) {
width = 750 * dpr // 750 的取值已设计稿的标准来决定
} else if (realWidth <= 1000) {
width = 375 * dpr
}
var rem = width / 10
docEl.style.fontSize = rem + 'px'
flexible.rem = window.rem = rem
}
在设备宽度 大于1000px 的屏幕上,根 font-size: 75px;在css 设置的宽高会根据 font-size 的值计算转换成 rem,做到在H5大小屏幕上的适配
<html data-dpr="1" style="font-size: 37.5px;"></html>
适配中遇到的问题点
- 横竖屏频繁切换,浏览器重绘导致的表现不一致问题
我们出的方案是:横竖屏切换之后刷新 docment.reload() - 弹出层与底层的滚动穿透问题
- 放大视频区域之后,加有 better-scroll 的区域无法操作缩小
4.弹出层无法滚动(滚动焦点在底层)