文档很难理解,因为我是 CSS 新手。那么谁能解释一下 position:sticky
和 position: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/