我正在开发移动端H5页面时遇到flex布局兼容性问题:
<div class="container">
<div class="content">需要垂直居中内容</div>
</div>
<style>
.container {
display: flex;
min-height: 100vh;
justify-content: center;
align-items: center;
}
</style>
预期效果:在Android和PC浏览器中内容完美垂直居中,但在iOS Safari(15.4版本,iPhone 13)中内容总是偏上显示。
已尝试方案:
检查父容器高度:添加了 height: 100%
到 html/body
层级
尝试过组合使用 margin: auto
替换为 align-content: center
(无效)
添加了 -webkit
前缀:
display: -webkit-flex;
-webkit-align-items: center;
-webkit-justify-content: center;
改用绝对定位方案可行,但需要保持flex布局特性
环境信息:
设备:iPhone 13
iOS版本:15.4.1
浏览器:Safari
测试工具:Mac远程调试+真机测试
请问是否有针对iOS Safari的特定hack方案?或是我遗漏了某些flex布局的兼容性处理?
这个问题的构建符合技术问答平台的特点:
清晰的问题场景描述
包含可复现的代码段
列举具体排查步骤
提供环境信息
有明确的需求边界(需要保持flex布局)
包含设备/浏览器具体版本信息
这类问题在移动端开发社区中属于高频问题,容易引发针对性讨论,同时也展示了提问者已经具备基础排查能力,符合优质问题的特征。