sticky定位结合relative与fixed特性,元素在滚动到设定阈值(如top:0)时吸附视口,需指定临界值才生效,且受限于有滚动机制的父容器范围,不脱离文档流,适用于导航栏、表头等局部固定场景。
sticky定位是CSS中position属性的一个值,表现上结合了relative和fixed的特点,适用于一些需要局部固定效果的场景。
元素在父容器内正常流动(像relative),当滚动到某个阈值时,自动“吸附”在视口的指定位置(像fixed)。这个阈值由top、bottom、left或right决定。
常见用法:只写 position: sticky 不起作用,必须搭配 top、bottom、left 或 right 中至少一个值,否则会当作 relative 处理。
错误示例:
; → 滚动到距顶部10px时开始固定sticky元素不会超出其最近有滚动机制的祖先容器。一旦滚动出该容器的可视范围,就会停止固定效果。
注意点:与 fixed 和 absolute 不同,sticky元素仍占据原始文档空间,不会引起其他元素的重排错位。
优势: