javascript - iOS Safari:对于像弹出菜单这样的覆盖,100vh 无法正常工作,并隐藏在 44px 像素高的 safari 菜单栏下
问题描述
问题是 iOS Safari 中未正确处理 100vh。它错误地计算到 safari 菜单栏底部的高度 [在底部],并将弹出菜单渲染到菜单栏的下边缘。这导致菜单被部分隐藏并产生问题,即使用 100vh 为跨设备设计可滚动弹出菜单。 详情在这里| 更多细节在这里
因此,希望找到一个不使用 100vh 的替代解决方案,以便它适用于所有浏览器和平台。
解决方案
我通过将菜单高度设置为 window['innerHeight'] + 'px' 而不是使用 100vh 解决了这个问题。
然后我随着浏览器大小的变化更新高度[下面的伪代码]
addEventListener('resize', () => menu.style.height = window['innerHeight'] + 'px');
这适用于所有浏览器和移动设备。
推荐阅读
- python - 熊猫发现缺少 15 分钟的间隔
- javascript - 从 Knex 更新中的连接表返回数据
- tensorflow - 时间序列 CNN,尝试使用 1,1 输入形状
- python - 无法从 pipeline.py 内部停止 Scrapy
- azure-devops - 在 Azure Devops 变量范围值发布意味着
- angular8 - angular8 的 dist 文件夹中没有 index.html
- javascript - 某些验证失败后立即更改输入框颜色和背景
- apache-kafka - 并非所有属性都在 kafka producer.metrics() 中可用
- node.js - 在超级账本作曲家中获取发出的事件
- linux - 如何提取多个值并在文件中打印正确的输出?