在CSS中,父容器设置
那么这里的问题是...
如何在不遮盖子项的情况下保持此类布局?在网上搜索可以找到如何清除浮动并扩展容器的方法...但我无法找到任何替代解决方案来保持左/右前一个子居中。如果将容器设置为
overflow:hidden
以允许其随其浮动的子元素的高度而扩展。但与margin:auto
结合时,它还具有另一个有趣的特性......如果前一个兄弟元素是浮动元素,则它实际上会显示在其旁边。也就是说,如果兄弟元素是float:left
,则具有float:none overflow:hidden
的容器将出现在该兄弟元素右侧,没有换行符-就像在正常流中浮动一样。如果前一个兄弟是float:right
,则容器将出现在该兄弟元素的左侧。调整此容器的大小将准确地显示它居中在浮动元素之间。假设您有两个先前的兄弟,一个是float:left
,另一个是float:right
,则容器将居中在两者之间。那么这里的问题是...
如何在不遮盖子项的情况下保持此类布局?在网上搜索可以找到如何清除浮动并扩展容器的方法...但我无法找到任何替代解决方案来保持左/右前一个子居中。如果将容器设置为
overflow:visible
,则容器会突然忽略浮动元素的布局流,并在浮动元素上方呈现。因此问题是:我必须让容器overflow:hidden
以保留布局...如何使子元素不被遮盖?我需要将子元素绝对定位相对于容器外的父元素。或者,如何使用overflow:visible
,以便我可以绝对定位相对于容器外的父元素的子元素...但又保持兄弟浮动式布局流?
overflow:hidden
的工作方式完全不同。将 clearfix 应用于父 div 并不能使所有子组件与父组件具有相同的高度。 - Khom Nazid