Ich blieb eine Weile bei diesem Problem hängen und wollte dieses position: sticky
Problem mit der Flexbox teilen:
Mein Sticky-Div ist nach dem Wechsel zur Flexbox-Containeransicht plötzlich nicht mehr Sticky, wenn es in ein übergeordnetes Flexbox-Element eingeschlossen ist.
.flexbox-wrapper { Anzeige: Flex; Höhe: 600px; } .regulär { Hintergrundfarbe: blau; } .klebrig { Position: -webkit-sticky; Position: klebrig; oben: 0; Hintergrundfarbe: rot; }
Dies ist eine gewöhnliche BoxDas ist eine Klebebox
JSFiddle-Anzeigeproblem
在我的情况下,一个父容器应用了
overflow-x: hidden;
这个样式,这会破坏position: sticky
的功能。你需要移除这个规则。没有任何父元素应该应用上述的CSS规则。这个条件适用于所有父元素,直到(但不包括)'body'元素。
由于弹性盒子元素默认为
stretch
,所有元素的高度都相同,无法进行滚动。将
align-self: flex-start
添加到粘性元素中,将高度设置为自动,从而实现了滚动并固定。目前,这在所有主要浏览器中都得到了支持,但Safari仍需要使用
-webkit-
前缀,而除了Firefox之外的其他浏览器在使用position: sticky
的表格时存在一些问题。