position: sticky はCSSのポジショニング手法の一つで、要素が通常のフロー内に配置されながらも、スクロールによって指定した閾値(通常は top: 0)に達すると、その位置に貼り付くように固定される。position: fixed が常にビューポート基準で固定されるのに対し、stickyは親要素のボックス内でのみ有効という制約がある。
この制約がデザインの武器となる。セクションごとに異なるstickyヘッダーを持たせた場合、各セクションのスクロールアウトとともにヘッダーも自然に消え、次のセクションのヘッダーに入れ替わるという動作がCSSだけで実現できる。
注意点として、祖先要素に overflow: hidden や overflow: auto が設定されていると、stickyは機能しない。