html - 位置 :sticky and position:fixed? 之间的差异

标签 html css layout position

文档很难理解,因为我是 CSS 新手。那么谁能解释一下 position:stickyposition:fixed 之间的实际区别?我也想举个例子。

我已经经历了https://developer.mozilla.org/en-US/docs/Web/CSS/position和其他几篇文章,但我还是不明白。

最佳答案

position: fixed 始终将元素固定到其滚动容器或视口(viewport)中的某个位置。无论您如何滚动它的容器,它都将保持在完全相同的位置,并且不会影响容器内其他元素的流动。

在不深入具体细节的情况下,position: sticky 基本上就像 position: relative 一样,直到元素滚动到特定偏移量之外,在这种情况下它变成 position: fixed,导致元素“粘”在它的位置而不是被滚动到 View 之外。当它向回滚动到原来的位置时,它最终会松开。至少,我在理论上是这样理解的。

我不想详细说明的原因是因为 position: sticky 是全新的、实验性的(如您链接到的文档中所示),尚未最终确定。即使是我上面所说的,在不久的将来也可能会发生变化。无论如何,您将无法使用 position: sticky(希望这会在明年发生变化)。

Mozilla 最近展示了它对 position: sticky 的实现 here .非常值得一看。

关于html - 位置 :sticky and position:fixed? 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19501919/

相关文章:

html - 为什么这个 SCSS 选择器不起作用

javascript - jQuery Mobile 内部页面问题

html - 如何将一个 div 置于另一个 div 的中心(只是一个大矩形内的一个小矩形)?

html - 在没有高度属性的元素中使用 100% 高度

javascript - 使用 CSS 缩放所有 svg 元素

css - 将自定义包含路径文件夹添加到 LESS.build

css - 如何使用 CSS 网格制作 30 个自动宽度的列?

javascript - CSS可变宽度元素填充空间

android - 从布局中移除子项

c++ - 在 MainWindow 中看不到我的标签和布局