粘性位置考虑父元素的行为。在您的情况下,父元素的高度由sticky元素定义,因此该元素没有粘性。
添加边框以更好地查看问题:
.nav-wrapper { position: absolute; bottom: 0; border: 2px solid;}.nav-wrapper nav { position: sticky; top: 0;}body { min-height:200vh;}<div > <nav> <a href="#"> <li>Home</li> </a> <a href="#"> <li>about</li> </a> </nav></div>现在将高度添加到父元素,看看发生了什么:
.nav-wrapper { position: absolute; bottom: 0; border: 2px solid; height:80vh;}.nav-wrapper nav { position: sticky; top: 0;}body { min-height:200vh;}<div > <nav> <a href="#"> <li>Home</li> </a> <a href="#"> <li>about</li> </a> </nav></div>粘性行为很好,因为父元素上有足够的高度,可以在特定阈值之后固定该元素。
粘性放置的元素是其计算的位置值为粘性的元素。它被看成相对定位 ,直到它的 包含块超过指定阈值
(例如,设置顶部为比自动其它值)它的流动根内(或容器它内滚动),在该点它被视为“卡住” ,直到满足 所述其包含块的相对边缘
。



