我的网站有一个主表单,我想将一个 div 停靠到主表单内内容区域的顶部。尽管有滚动位置,这个 div 应该始终可见。这可能吗?
图片会更好地解释它。
原文由 Rachel 发布,翻译遵循 CC BY-SA 4.0 许可协议
截至 2018 年 7 月,是时候重新审视这个问题了。 position: sticky
正是针对像您这样的问题而引入的,并且具有 不错的浏览器支持。
它是这样工作的:
<div style="position: sticky; top: 0;"> Header </div>
其中 top
是滚动时 div 应该停留在视口顶部的距离。 指定 top
是强制性的。 其他选项,如 bottom
, left
或 right
目前 不 工作。
粘性 div 在所有方面都像普通 div 一样,除了当您滚动经过它时,它会粘在浏览器的顶部。
这是一个给你一个想法的 jsfiddle 。
原文由 npas 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答896 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
2 回答925 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答897 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
我发布了一个 示例 作为评论,所以我想我会写出一个完整的答案。
标记非常简单,但每个部分都有一些重要说明。
HTML
CSS
JavaScript
注意#1
滚动标题将使用
position: fixed
附加到页面顶部,但此样式将从内容流中删除内容,这将导致内容跳转,除非其容器保持原始高度。笔记2
样式属于 CSS,但是可能很难将某些元素与其原始位置正确对齐。您可能需要通过 JavaScript 动态设置
left
或right
css 属性。