小程序/H5固定单页面展示(长短屏自适应,不出现滚动条)的适配方案

本文主要是介绍小程序/H5固定单页面展示(长短屏自适应,不出现滚动条)的适配方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

场景描述:

在开发小程序、H5中,可能存在需要在各种长短屏下都一个页面展示内容,不出现滚动条的场景。

我们知道宽度的话按照设计稿750计算,大家基本没啥问题,H5就是750rem,小程序用750rpx,对吧,什么屏幕都能适配全屏。但是高度怎么办呢?

 

方案介绍:

此种方案中,必须有些可缩放元素存在:一张图片;其他部分如:底部按钮、底部文字、底部介绍等元素不能缩放。

此时可以利用750/windowWidth计算一个比率。

然后对于适配图片的处理方式是,1、计算设计稿中,不可缩放元素的高度;2、用屏幕高度减去不可缩放元素高度;3、对于可缩放适配的图片将其高度设置成1、2计算后的值乘以缩放比率,然后在保持宽高比的情况下,缩放图片宽度;如此便可适配

具体执行如下:

1、计算适配图片高度

其中550是页面中不可缩放元素的高度,所白了就是需要预留多高才能显示这些必须显示的玩意。

那么适配图片的高度就是屏幕剩余空间的高度,说白了还剩多少都给他。(但是如果很极端,屏幕不正常的小也不能让适配图片一点也看不到,或者屏幕不正常的长也不能让适配图片无限变大,那就需要给到最大最小值了)

    wx.getSystemInfo({success: (res) => {console.log(res);this.setData({windowW: res.windowWidth,windowH: res.windowHeight,fixRate: 750 / res.windowWidth})this.setData({liHuiHeight: Math.min(Math.max(res.windowHeight * 750 / res.windowWidth - 550, 300),1000)})},})

2、给图片赋值

小程序中,重点要设置mode为heightFix(高度不变,宽度自动变化,保持原图宽高比不变)

 <image mode="heightFix"style="height:{{liHuiHeight}}rpx" src=""class="lihui-item"></image>

如果页面中,还有其他元素需要适配,比如有个按钮,需要一直在页面中上方,采用fixed定位做的,那么也可以通过此法设置他的值 

这篇关于小程序/H5固定单页面展示(长短屏自适应,不出现滚动条)的适配方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827372

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺