【发布时间】:2011-03-24 04:23:22
【问题描述】:
在 CSS 中,overflow:hidden 设置在父容器上,以便允许它随着浮动子容器的高度而扩展。
但与margin: auto结合使用时,它还有另一个有趣的功能...
如果 PREVIOUS 兄弟是一个浮动元素,它实际上会与其并列出现。也就是说,如果兄弟是float:left,那么带有float:none overflow:hidden 的容器将出现在兄弟的右侧,没有换行符——就像它在正常流程中浮动一样。如果前一个兄弟是float:right,那么容器将出现在兄弟的左侧。调整此容器的大小将准确地显示它在浮动元素之间居中。假设您之前有两个兄弟姐妹,一个 float:left 另一个 float:right,容器将显示在两者之间。
这就是问题...
如何在不屏蔽子项的情况下保持这种类型的布局?
在整个网络上进行谷歌搜索为我提供了如何clear:both 和扩展容器的方法......但我找不到任何替代解决方案来保持左/右前一个子元素居中。如果你将容器设为overflow:visible,那么容器会突然忽略浮动元素的布局流程,并出现在浮动元素之上。
所以问题:
我必须拥有容器 overflow:hidden 来保留布局...
我怎样才能让孩子们不被蒙面?我需要让孩子相对于容器外的父母绝对定位。
或
我如何overflow:visible 这样我就可以相对于容器外部的父级绝对定位一个子级...但保留兄弟级浮动布局流?
【问题讨论】:
标签: css overflow css-float center hidden