当前位置: 首页 > article >正文

CSS移动端防止软键盘顶起页面_设置body高度或固定容器尺寸

应使用 JavaScript 动态监听 focusin/blur 和 resize 事件结合 window.innerHeight 实时更新容器高度避免依赖 100vh 或 viewport height 配置关键交互元素禁用 position: fixed改用 absolute relative 布局。软键盘弹出后页面被顶起body 高度失效怎么办移动端浏览器尤其 iOS Safari在软键盘弹出时会动态缩放视口、重排布局body 的 height: 100vh 或 100% 会按“缩放后的可视区”计算导致实际高度变小内容上浮、按钮被顶出屏幕。这不是 CSS 写错了是浏览器行为本身不可靠。别用 100vh 做全屏容器高度iOS 下它会在键盘弹出后骤减比如从 667px 掉到 400px优先监听 resize 事件用 window.innerHeight 动态更新容器高度而不是依赖 CSS 固定值Android Chrome 相对稳定但也要防万一iOS 必须处理且 resize 触发有延迟需加防抖position: fixed 容器在键盘弹出后错位或消失固定定位元素如底部输入框、悬浮按钮在软键盘唤起时部分 Android 浏览器会强制将其“推高”iOS 则可能让 fixed 元素脱离视口甚至渲染异常。根本原因是 fixed 依赖的“视口”基准在键盘弹出时被浏览器篡改。避免对关键交互区域如输入框、发送按钮单独使用 position: fixed改用 position: absolute 父容器 position: relative bottom: 0并确保父容器高度可控比如用 JS 设置若必须用 fixed需在 resize 后手动重置 top 或 bottom 值依据 window.innerHeight 计算监听 resize 不够用补上 focusin 和 blurresize 在键盘弹出/收起时触发不稳定尤其 iOS常漏掉第一次弹出或收起瞬间。单纯靠它做高度适配会出现“闪一下再调整”的视觉跳变。对所有可聚焦的输入类元素input、textarea监听 focusin立刻记录当前 window.innerHeight设为“键盘未起时的高度”监听 blur延时 300ms 再恢复高度给键盘收起留出时间避免误判把 resize 当兜底三者配合才能覆盖大部分机型和触发路径要不要用 viewport 的 heightdevice-height这个配置早被主流浏览器废弃Chrome 从 59、Safari 从 iOS 10 就不再支持。写上不仅无效还可能干扰其他 viewport 行为比如缩放控制。 Cleanup.pictures 智能移除图片中的物体、文本、污迹、人物或任何不想要的东西

相关文章:

CSS移动端防止软键盘顶起页面_设置body高度或固定容器尺寸

应使用 JavaScript 动态监听 focusin/blur 和 resize 事件,结合 window.innerHeight 实时更新容器高度,避免依赖 100vh 或 viewport height 配置;关键交互元素禁用 position: fixed,改用 absolute relative 布局。软键盘弹出后页…...

手把手教你用Node.js + 免费天气API,5分钟给个人网站加个天气小挂件

零成本打造个性化网站天气组件:Node.js与免费API实战指南 最近在整理个人作品集网站时,突然意识到一个精致的天气小部件能为访客带来更贴心的体验。想象一下,当潜在雇主或客户打开你的网站时,不仅能欣赏你的作品,还能顺…...

从零准备校招编程面试,保姆级路线图

文章目录前言一、先搞懂2026年校招面试的底层逻辑,别再做无效努力1.1 90%应届生都在踩的3个致命误区1.2 2026年校招面试官的核心考核标准二、筑基篇:3个月吃透计算机核心基础,搭建完整知识体系2.1 数据结构与算法:不是为了刷题&am…...

避坑指南:Keil uVision5新建工程到生成HEX文件的完整流程(含常见报错解决)

Keil uVision5从零到HEX:单片机开发避坑实战手册 第一次打开Keil uVision5时,那个满是英文的界面就像迷宫——菜单栏密密麻麻的选项、编译时突然跳出的红色错误提示、找不到芯片型号的弹窗...这些场景对单片机初学者来说再熟悉不过。本文将用真实项目经验…...

别再手动抄数据了!用VB.NET写个脚本,一键批量导出CATIA零件属性到Excel

用VB.NET实现CATIA零件属性批量导出Excel的高效方案 机械工程师每天面对数百个CATIA零件文件时,手动记录PartNumber、Revision等属性不仅耗时耗力,还容易出错。我曾在一个航空零部件项目中,需要处理超过2000个零件的BOM表,手工操作…...

从专利库到Zemax:手把手教你搞定一个6mm F3.8定焦镜头的初始结构(含CodeV转换技巧)

从专利库到Zemax:手把手教你搞定一个6mm F3.8定焦镜头的初始结构(含CodeV转换技巧) 光学设计中最令人头疼的往往不是优化过程,而是如何找到一个合适的初始结构。就像盖房子需要先打地基一样,初始结构的选择直接决定了后…...

royalrover

1. 哑铃图是什么? 哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。 它源于人们对更有效数据比较方式的持续探索。 在传统的时间序列比较中,我们通常使用两条折…...

python pyright

从Python开发者的角度看Pyright:一个被低估的类型检查工具 做Python开发这些年,类型检查这事儿一直挺有意思。早期大家觉得动态类型是Python的“优势”,后来随着代码规模增长,越来越多的人开始拥抱类型注解。而说到类型检查工具&a…...

python mypy

# Python Mypy:从实际项目角度看静态类型检查 他到底是什么 每次跟人聊起Python的类型注解,总会遇到类似的困惑:这玩意儿是不是让Python变成Java了?其实不然。Mypy本质上就是个工具,一个能帮你发现代码里潜在问题的扫描…...

R3nzSkin国服特供版:三步解锁英雄联盟全皮肤免费体验终极指南

R3nzSkin国服特供版:三步解锁英雄联盟全皮肤免费体验终极指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 你是否曾经羡慕别人拥有那些炫…...

告别串口线!用两个HC-05蓝牙模块给STM32远程升级固件(保姆级避坑指南)

无线升级革命:HC-05蓝牙模块在STM32固件更新中的实战解析 当你的嵌入式设备被安装在旋转机械臂末端、密封配电箱或高空气象站时,拖着串口线升级固件的场景是否让你抓狂?两个总价不到50元的HC-05蓝牙模块,配合Ymodem协议&#xff0…...

别再傻傻分不清了!LwIP内存池(memp.c)和内存堆(mem.c)到底怎么选?

LwIP内存管理实战指南:内存池与内存堆的黄金分割法则 在嵌入式网络开发中,内存管理就像一场精心编排的芭蕾舞——每个动作都需要精确到位。LwIP作为轻量级TCP/IP协议栈的标杆,其内存池(memp.c)和内存堆(mem.c)的双轨制设计,常常让…...

别再死记硬背了!我用这10个Python高频面试题,帮你拆解背后的设计思想

10个Python高频面试题背后的设计哲学与工程智慧 1. GIL全局解释器锁的取舍之道 Python最受争议的设计莫过于GIL(全局解释器锁)。这个看似简单的机制背后,隐藏着语言设计者对单线程性能与多核利用的深刻权衡: 性能优先的设计哲学&a…...

英雄联盟助手ChampR:3分钟学会职业选手的出装符文配置

英雄联盟助手ChampR:3分钟学会职业选手的出装符文配置 【免费下载链接】champr 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champr 还在为英雄联盟出装符文头疼吗?ChampR这款智能助手让你…...

实战派指南:在嵌入式Camera项目里,你的Gamma校正曲线到底该怎么调?

实战派指南:在嵌入式Camera项目里,你的Gamma校正曲线到底该怎么调? 当你第一次拿到一颗新的图像传感器时,最令人头疼的往往不是硬件连接,而是那个看似简单却暗藏玄机的Gamma校正表。上周在调试一款工业检测相机时&…...

宿舍管理系统小程序(文档+源码)_kaic

系统实现系统实现这个章节的内容主要还是展示系统的功能界面设计效果,在实现系统基本功能,比如修改,比如添加,比如删除等管理功能的同时,也显示出系统各个功能的界面实现效果,该部分内容一方面与前面提到的…...

流浪动物救助小程序(文档+源码)_kaic

第5章 系统实现进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于…...

Spring Cloud项目日志改造实战:从logback迁移到log4j2,顺便搞定异步线程TraceId丢失的坑

Spring Cloud日志框架迁移实战:从Logback到Log4j2的平滑过渡与TraceId完整性保障 在微服务架构中,日志系统如同神经系统的感知末梢,而链路追踪则是串联起整个调用脉络的关键线索。当我们将目光投向Spring Cloud生态时,Logback作为…...

如何在DbGate中快速连接MySQL数据库:完整配置指南与实用技巧

如何在DbGate中快速连接MySQL数据库:完整配置指南与实用技巧 【免费下载链接】dbgate Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application 项目地址: https://gitcode.com/…...

TVA在新能源汽车制造与检测中的实践与创新(6)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan师从美国三院院士、“AI教母”…...

风控规则和模型分怎么融合?一次讲清规则引擎、风险评分与多策略协同决策

规则引擎和模型分怎么一起用?风控里的规则、评分卡、多策略协同怎么落地 这篇直接按规则和模型融合来拆,不只讲“模型给个分、规则做补充”,而是把协同顺序、解释性和上线治理讲具体。 目标是你看完后,能把规则 模型从并排摆放&a…...

风控平台怎么支撑多业务线?一次讲清场景隔离、规则复用、策略分层与平台化治理

一套风控平台怎么支撑多业务线?场景隔离、规则复用、策略分层怎么设计 这篇直接按多业务线风控平台来拆,不只讲“多场景复用”,而是把场景隔离、规则复用、策略分层和平台治理讲具体。 目标是你看完后,能把风控平台从“一个团队自…...

风控平台多租户怎么设计?一次讲清租户隔离、规则隔离、数据边界与平台运营能力

风控平台做多租户,最容易踩哪几个坑?规则隔离、数据边界、运营能力一次讲透 这篇直接按风控平台多租户来拆,不只讲“加个 tenantId”,而是把规则隔离、数据边界、权限和运营能力讲具体。 目标是你看完后,能把多租户从字…...

源头厂家超元力直供,悬浮玻璃剧场筑牢文旅运营根基

在文旅体验不断升级的当下,沉浸式项目成为吸引游客的核心竞争力,超元力悬浮玻璃剧场凭借独特的呈现形式,成为文旅场景中的新晋热门。它打破传统观影的局限,无需佩戴任何辅助设备,就能让游客置身于虚实交织的光影世界&a…...

QML自适应避坑指南:为什么我的Layout布局总出问题?

QML自适应避坑指南:为什么我的Layout布局总出问题? 第一次在团队项目里用QML的RowLayout时,我盯着屏幕上重叠错位的按钮整整半小时——明明在设计师的4K屏上完美对齐,到了测试机的1080p屏幕上却像打翻的积木。这种经历恐怕每个QML…...

MinIO集群搭建后,如何用Nginx配置IP哈希会话保持?一个生产环境案例解析

MinIO集群生产环境实战:Nginx IP哈希会话保持配置与深度优化 当MinIO集群从测试环境走向生产环境时,负载均衡策略的选择直接影响到系统的稳定性和用户体验。特别是在需要会话保持的场景下,如何确保同一客户端的请求始终路由到同一个MinIO节点…...

终极指南:如何在Linux和Windows上快速部署Tsukimi Jellyfin客户端

终极指南:如何在Linux和Windows上快速部署Tsukimi Jellyfin客户端 【免费下载链接】tsukimi A simple third-party Jellyfin client for Linux 项目地址: https://gitcode.com/gh_mirrors/ts/tsukimi 你是否厌倦了Jellyfin官方客户端的复杂操作?想…...

ESXi 6.7 U3安装盘制作避坑指南:解决RTL8125B网卡识别与驱动封装常见错误

ESXi 6.7 U3定制安装盘实战:RTL8125B网卡驱动封装深度解析 当你准备在配备RTL8125B网卡的服务器上部署ESXi 6.7 U3时,可能会遇到一个令人头疼的问题——安装程序无法识别这块主流2.5G网卡。这不是个例,而是许多系统管理员都踩过的坑。本文将带…...

Midscene.js终极实战:3步构建跨平台视觉UI自动化工作流

Midscene.js终极实战:3步构建跨平台视觉UI自动化工作流 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene.js是一款革命性的AI驱动视觉UI自动化…...

CompressO:如何高效压缩视频图像?开源跨平台工具终极指南

CompressO:如何高效压缩视频图像?开源跨平台工具终极指南 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/…...