比如下图这样一个日期列表
默认滚动的时候,比如滚动的区域属于6月份,这时候6月的标题就置顶,等6月份的日期滚动完毕,7月份的日期滚动到顶部的时候,6月标题就取消固定,,重新固定7月的标题
想问上列效果,大概用什么样的原理可以实现?
比如下图这样一个日期列表
默认滚动的时候,比如滚动的区域属于6月份,这时候6月的标题就置顶,等6月份的日期滚动完毕,7月份的日期滚动到顶部的时候,6月标题就取消固定,,重新固定7月的标题
想问上列效果,大概用什么样的原理可以实现?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
position: sticky
就可以满足要求。该状态的元素首先限制于包含块中,再以规定的top
、right
、bottom
和left
限制于最邻近滚动区域。Sticky Position | CodePen
上面的示例中,
<section>
块包含<h1>
,最邻近滚动区域为<body>
。滚动时<h1>
首先限制于<section>
内,然后限制在<body>
滚动口(Scrollport,滚动区域的可见部分)的上边(top: 0
)。position: sticky - CSS | MDN
Scrollport | MDN