1

如何强制子 html 元素在父元素的边界内,这样即使绝对定位的子元素仍然保持在父元素的边界内(或被裁剪)。

我这样做是因为我想防止子内容的作者使用绝对定位的元素“覆盖我的页面内容”。

我不想使用 iframe。我最好的解决方案是使用 javascript 来查找样式位置设置为“绝对”或“固定”的所有子元素,并将它们转换为“静态”,但是我会喜欢更好的方法,最好是非 javascript 方法。任何帮助都是很好的帮助。

注意:设置style="position:relative;" 对于父元素,仅针对style="position:absolute;"的子元素解决它 , 而不是style="position:fixed;"

4

1 回答 1

4

如果父元素设置了 position: relative ,则任何带有 position: absolute 的子元素都将定位在父元素的边界内。

所以:

<div style="position:relative; width:400px; height:400px;">
    <div style="position:absolute; left:190px; top:190px; width:20px; height:20px;">
</div>

会给你一个绝对位于 400px 正方形范围内的 20px 正方形。

如果你想剪辑,你可能不得不使用溢出:隐藏,并可能使用 z-indexes。您要剪辑的 div 可能需要具有 z-index: -1。

于 2012-02-01T19:19:39.137 回答