滚动固定位置的内容,指定 top 属性 丢弃最后一部分

Scroll over content with fixed position and specified top property drops the last part

示例:http://jsfiddle.net/3p9urx4y/ 我正在尝试制作必须放在 header 下的移动导航。但是如果我指定下一个属性:

.list {
   top: 50px;
   overflow-y: scroll;
 }

缺少内容的最后 50px,因为 top 属性 不是零。我试图使外部 div 的 padding-top 为 50px,但在这种情况下,滚动出现在 header 区域,这不是预期的行为。 我们可以指定最后一个列表 child 的 margin-bottom,这有助于:

.item:last-child {
    margin-bottom: 50px;
}

但这就是诀窍,我正在努力寻找更好的解决方案。 我发现了这个问题 Scroll part of content in fixed position container 但我需要一些不同的东西。我的 header 必须修复,当用户单击导航按钮时,导航菜单必须从右侧滑动。

已编辑: http://jsfiddle.net/3p9urx4y/ 新示例

您的 .list 具有 高度:100vh,因此无论其位置如何,它将占据相当于屏幕高度的 100% .

一种解决方案是将列表高度设置为 calc(100vh - 50px)。我编辑了 fiddle.

calc 函数允许您在指定 css 属性 时执行计算。更多信息 here.

给header一个固定的位置,一个高度和一个宽度,别忘了给它一个z-index ...然后你在它下面的导航应该没问题我可以给它更多建议你需要我#cheers