为什么overflow:hidden会阻止position:sticky工作?
在CSS中,position:sticky属性允许元素保持可见滚动时,直到其容器元素滚动到视图之外的位置。此行为模仿移动应用程序中常见的固定标头。
但是,当容器元素设置了溢出:隐藏属性时,将不再观察到位置:粘性行为。发生这种情况是因为溢出:隐藏属性限制了容器的大小,防止粘性元素被重新定位到其可见区域之外。
为什么会发生这种情况
溢出时:隐藏应用于容器,它本质上会剪辑超出其边界的任何内容。这意味着即使粘性元素位于其容器的可见区域之外,它也会被溢出:隐藏规则有效地隐藏。
现代替代方案:
到在内容溢出的容器中实现所需的粘性行为,同时保持修剪多余内容的能力,请考虑使用 contains:paint property:
contain: paint;
contain:绘制限制容器内子元素的渲染,包括溢出的内容。这有效地模仿了溢出:隐藏,同时仍然允许位置:粘性属性的正确功能。
以上是为什么`overflow:hidden`会破坏`position:sticky`?的详细内容。更多信息请关注PHP中文网其他相关文章!