sticky定位结合relative与fixed特性,设置如top值后元素在滚动至临界点时固定于视口,常用于表头、导航栏等场景,需注意必须指定偏移量且父容器足够高,否则无效。
sticky 属性是 CSS 中 position 属性的一个值,用于创建“粘性定位”元素。它结合了 relative 和 fixed 定位的特点,让元素在滚动到特定位置前正常流动,到达设定临界点后像 fixed 一样固定在视窗中。
一个设置了 position: sticky; 的元素,会根据用户的滚动行为动态切换表现:
sticky 并非在所有情况下都生效,需满足几个关键条件:
一个有足够滚动范围的父容器中,且父元素高度要大于 sticky 元素自身高度sticky 定位非常适合需要局部固定的 UI 组件:
基本上就这些。用得恰当的话,sticky 能提升用户体验,实现简洁高效的交互效果,不复杂但容易忽略细节。比如只写 position: sticky 而忘记加 top 值,就会发现它“没反应”。