H5移动端适配

您所在的位置:网站首页 h5的大小 H5移动端适配

H5移动端适配

2023-02-25 01:29| 来源: 网络整理| 查看: 265

方案一、js结合rem适配

在网页开发中,我们常用的单位有如下几个:

px:像素固定,无法适配各分辨率的移动设备em: 该单位受父容器影响,大小为父元素的倍数rem: 因为html根元素大小为16px,所以默认 1rem = 16px,rem只受根元素影响,也就是html的font-size

综上所述,rem是最适合移动端开发的计量单位,因为rem只受html大小影响,所以控制html大小,rem就会随着变化。

假设平面设计师给了你一个750px宽度的设计稿,那么根元素html大小(假设为X)的计算方式为:

设备宽度 / 设计稿宽度 = X / 设计稿根元素大小

一般情况下,我们为了方便计算,会把设计稿根元素大小设置为100px,这样,设计稿上的 100px = 1rem,我们取到设计稿上元素的大小时,除以100就是代码中rem的大小。

例如,你测量设计稿banner宽度为750px,那你就css定义宽度为7.5rem

接下来,用js动态计算根元素html大小:

const doc = document.documentElement window.onresize = () => { // 获取窗口宽度 let width = doc.clientWidth // 设备宽度 / 设计稿宽度 = 根元素html大小 / 设计稿根元素大小(假设为100px) // 假设我们的设计稿宽度为 750px if (width >= 750) { doc.style.fontSize = '100px' } else { doc.style.fontSize = width / 750 * 100 + 'px' } }

这样,设计稿上的 100px = 1rem,这样我们取到设计稿上元素的大小时,除以100就是代码中rem的大小。

例如,你测量设计稿banner宽度为750px,那你就css定义宽度为7.5rem

方案二、vw结合rem适配

接下来有一种更为简单的适配方式,那就是vw和rem结合,该方式无需js,虽然vw对低版本安卓系统和IOS有兼容问题,但是时至今日,人们使用的手机越来越先进,这些都不再是大问题了。

假设,我们的设计稿宽度是750px,而设备宽度是恒定的100vw,为了方便测量,我们给设计稿根元素大小设置为100,那么设备html的根元素大小则可以直接计算出来:

font-size: 100vw / 750 * 100 ≈ 13.333333vw

实现代码如下:

html { font-size: 13.333333vw; } /* 媒体查询防止内容过大 */ @media screen and (min-width: 750px) { html { font-size: 100px; } }

这样,我们不借助js的计算就可以实现适配屏幕了。

用法和上边“rem结合js”适配一样:

/* 假如设计稿宽高为 200px * 200px */ .box { width: 2rem; height: 2rem; }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3