【发布时间】:2018-06-30 03:19:39
【问题描述】:
我正在构建一个应用程序,我想在浏览器底部放置一个导航栏。我有类似的东西
<div style="display: flex; flex-direction: column; height: 100%"
<header>Header</header>
<section style="height: 100%">Main Content</section>
<footer>Sticky footer</footer>
<div>
这对桌面非常有用。这是一个简单的例子,红色是页眉,黄色是页脚,蓝色是内容。
但是,在 iOS Safari(我认为也有一些 Android 浏览器)中,当您滚动时,工具栏会覆盖底部 44px 左右。
我阅读了here 和其他一些关于解决方法的信息,但没有真正的“好”解决方案。然而,似乎 Instagram 在 iOS 上的网站解决了这个问题:
不滚动:
当您很好地滚动工具栏上方的底部导航重新定位时:
一种解决方案是让工具栏始终可见,但我想采用 Instagram 风格的方法。我不确定如何在 CSS(或 CSS + JS)中实现。有谁知道我怎样才能实现 Instagram 效果?滚动时,Safari iOS 工具栏的底部导航栏会无缝移动。
编辑:这是解决此问题的工作演示。
<!DOCTYPE html>
<html style="height:100%"lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body style="height:100%; padding: 0; margin: 0">
<div style="display: flex; flex-direction: column; height: 100%">
<header>Header</header>
<div>
<div>Main content</div>
</div>
<footer style="position: fixed; bottom: 0; width: 100%">Sticky footer</footer>
</div>
</body>
</html>
【问题讨论】:
-
我不确定
height: 100%;。你的意思是页面是100vh?
标签: ios css mobile-safari