小程序/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

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程