我有这个 HTML 代码:
<div class="header">
<div class="desc">Description</div>
<div class="logo"><img src=""/></div>
<div class="navbar"></div></div>
.header 的高度为 150 像素。 .navbar 的高度为 20px。当用户滚动时,我希望 .navbar 贴在顶部。所以我去 CSS 并设置 position:sticky 和 top:0。但这没有用。我最初认为 firefox 不支持 position:sticky,但事实并非如此,因为我能够看到它的工作演示。我用谷歌搜索了它,但没有发现任何帮助。任何人都知道为什么这不起作用?
原文由 Wolfuryo 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您将导航栏移到标题之外,它可以正常工作。见下文。出于这个原因,根据 MDN :
对于 _包含块_:
因此,当我没有误解时,导航栏一旦滚动到视口之外,就会定位在标题内的偏移量 0 处(这显然意味着您再也看不到它了)。