Css 双向;粘的;位置(固定时的工作方式) 在第一张图片上,当滚动到达父元素时,粘滞元素粘在屏幕底部(如预期的那样) 在第二张图片上,当滚动条将粘性元素居中时,它不会粘在任何地方 在第三张图片上,当滚动进一步时,粘滞元素粘在屏幕顶部(如预期的那样)

Css 双向;粘的;位置(固定时的工作方式) 在第一张图片上,当滚动到达父元素时,粘滞元素粘在屏幕底部(如预期的那样) 在第二张图片上,当滚动条将粘性元素居中时,它不会粘在任何地方 在第三张图片上,当滚动进一步时,粘滞元素粘在屏幕顶部(如预期的那样),css,css-position,sticky,Css,Css Position,Sticky,我的问题是: 据我所知,当粘滞元素到达其在视口中的位置时,粘滞位置将切换到“位置:固定” 在第二张图片上,情况绝对不是这样,因为粘性元素既不粘在屏幕的顶部也不粘在屏幕的底部 为什么粘性元素在第二张图片上就是这么做的 .parentSticky{ 宽度:50%; 高度:800px; 边框:纯黑5px; 显示器:flex; 弯曲方向:立柱; 对齐项目:居中; 保证金:自动; } .兄弟姐妹{ 宽度:100%; 高度:100px; 背景颜色:橙色; 边框:实心10px红色; 显示:内联块; 弹性

我的问题是:

  • 据我所知,当粘滞元素到达其在视口中的位置时,粘滞位置将切换到“位置:固定”
  • 在第二张图片上,情况绝对不是这样,因为粘性元素既不粘在屏幕的顶部也不粘在屏幕的底部
  • 为什么粘性元素在第二张图片上就是这么做的
.parentSticky{
宽度:50%;
高度:800px;
边框:纯黑5px;
显示器:flex;
弯曲方向:立柱;
对齐项目:居中;
保证金:自动;
}
.兄弟姐妹{
宽度:100%;
高度:100px;
背景颜色:橙色;
边框:实心10px红色;
显示:内联块;
弹性:50 0 1px;
框大小:边框框;
}
史提克先生{
柔性生长:1;
边框:实心10px绿色;
框大小:边框框;
位置:粘性;
底部:10px;
顶部:10px;
}





























元素 “粘性”元素 元素




























您忘记了粘性的一个重要部分,即:

粘性定位图元是指其计算位置值为粘性的图元。它被视为相对定位,直到其包含的块超过指定的阈值

所以在第二张图中,粘性元素的行为就像相对元素一样

用简单的话来说,粘滞元素只有在由于滚动而从屏幕上隐藏时才会表现为粘滞,在这种情况下,粘滞行为将强制保持可见。如果它已经可见(如第二张图片中),则不需要任何粘性行为,元素的行为将如同设置了
position:relative
一样

top
/
bottom
仅用于定义偏移


有关更多详细信息的相关问题: