项目难点:解决IOS调用起软键盘之后页面样式布局错乱问题

需求背景 :

开发了一个问卷系统重构项目,刚开始开发的为 PC 端,其中最头疼的一点无非就是

IE 浏览器的兼容适配性问题;

再之后项目经理要求开发移动端 ,简单的说就是写 H5 页面,到时候会内嵌在 App 应用、办公系统或小程序里,刚开始在 Edge 浏览器模拟器 里面进行的开发,因为自己也是头一次开发移动端的项目,没啥经验(后来知道就是尽量避免使用 fixed 定位,IOS会有兼容性问题),但是项目内还是有好多地方都使用了 fixed 的固定定位,因此也就导致了,项目开发完使用 Jenkins 打包部署上线后,在 IOS 系统的苹果真机上面测试时,就会遇到了各式各样的奇葩问题。。

首当其冲,也是最大的问题就是 :

1、当 input 输入框聚焦调用起软键盘输入完内容之后,也就是软键盘收起来后,整个页面布局排版样式啥的都乱了,而且当你想再次选中输入框时,发现选不中了,其实是此时整个页面都已经掉下来一块了,再想选中聚焦的话,就要往上面点击一下才行。。


然后反正就是各种百度,各种请教 :

JSBridge : 支付宝H5开放文档


百度的 :

解决 H5 IOS input 聚焦时,页面整个被推上去了,键盘收起页面未下移 BUG

IOS下软键盘收起的时候,页面被顶上去,无法复原的终极解决方案

uniapp 开发项目 :

记一次h5页面ios唤起软键盘踩坑 - 掘金

UniApp中input组件在IOS设备上弹出软键盘时页面整体上移问题的解决方案,以及input组件聚焦后弹出软键盘固定在软键盘上方,失去聚焦后回到原始位置。_ios弹出键盘界面上移


上面的千奇百怪的方式都试过了,最后还是没啥卵用 :

最终在请教了公司内的大佬之后,就 OK 啦 ~

-webkit-backface-visibility_笔记大全_设计学院

结合 ➕ : -webkit-transform: translate3d(0,0,0)

在 App.vue 内全局配置了一下完事 !

( 当然这里最好判断一下是否为 IOS 系统再添加属性,因为可能会影响到安卓系统的哟~ )

Perfect ! !下课~

相关推荐
Frag0ut3 分钟前
告别插件时代:HTML5 视频播放对比 Flash/Silverlight/ActiveX 的性能与技术优势解析
前端·html5·视频播放·flash·activex·流媒体技术·silverlight
用户818618028005 分钟前
MongoDB文档模型设计——从建模到索引
前端
無名路人31 分钟前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
竹林8181 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
乘风gg2 小时前
别跟风 AI 副业,工程师最该学的是 AI Coding
前端·ai编程·claude
Frag0ut2 小时前
深度解析:Chrome 自启动与后台常驻服务的作用、关闭方法及利弊权衡
前端·chrome
Amos_Web2 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架
YIAN2 小时前
从 SSE 流式到结构化输出:LangChain 三大 OutputParser 与 ToolCall 方案全实战
前端·langchain·node.js
YIAN2 小时前
从 SSE 流式原理到 LangChain 结构化输出:打字机效果与 JSON 解析全方案实战
前端·langchain
Moment3 小时前
如果你在做 RAG,可能会需要 pdf-inspector
前端·后端·面试