Overflow:hidden 对定位的父/子元素无效:问题还是设计使然?
在 CSS 中,overflow:hidden 属性隐藏超出其容器元素边界的内容。但是,当尝试在定位为固定且具有固定子元素的元素上使用此属性时,会发生意外行为。没有发生预期的溢出截断。
示例:
.parent { position: fixed; overflow: hidden; width: 300px; height: 300px; background: #555; } .children { position: fixed; top: 200px; left: 200px; width: 150px; height: 150px; background: #333; }
说明:
此问题源自CSS 中的限制:overflow:hidden 只能有效隐藏元素流中的内容。与position:fixed一样,定位元素将从正常流中删除,并且不参与溢出的处理。
替代解决方案:CSS Clip属性
到在定位元素上实现所需的溢出裁剪行为,请考虑使用 Clip 属性。它允许您在元素内定义可见或隐藏的矩形区域。
示例:
.parent { position: fixed; clip: rect(0px, 300px, 300px, 0px); width: 300px; height: 300px; background: #555; }
注意事项:
其他注意事项:
以上是为什么'overflow:hidden”对 CSS 中固定位置的父/子元素不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!