假设我有以下HTML结构:
我注意到如果我不把
为了解决这个问题,我发现必须将
以下是一个真实的例子:
请注意,
有人能解释一下这种行为吗?
这里是示例的屏幕截图:
感谢,Boda Cydo。
<div class="a">
<div class="floated-left">...</div>
<div class="floated-left">...</div>
</div>
我注意到如果我不把
.a
的overflow:hidden
设置好,那么<div class="a">
不会占据任何垂直空间。例如,如果我将其背景设置为红色,它根本不可见。使用FireBug检查它会显示它存在,但几乎没有垂直大小。为了解决这个问题,我发现必须将
.a
的overflow:hidden
设置好。然后第一个<div>
将覆盖所有内容。以下是一个真实的例子:
<html>
<head>
<style>
.a { background-color: red; }
.b { background-color: red; overflow: hidden }
.floated-left { float: left; width: 100px; height: 100px; background-color: blue; }
</style>
</head>
<body>
<p>div with class a, that doesn't overflow:hidden:</p>
<div class="a">
<div class="floated-left">Hi,</div>
<div class="floated-left">Mom!</div>
</div>
<div style="clear:both"></div>
<p>div with class b, that does overflow:hidden:</p>
<div class="b">
<div class="floated-left">Hi,</div>
<div class="floated-left">Dad!</div>
</div>
</body>
</html>
请注意,
Hi, Mom!
没有红色背景(没有溢出:hidden),而Hi, Dad!
有红色背景(有溢出:hidden)。有人能解释一下这种行为吗?
这里是示例的屏幕截图:
感谢,Boda Cydo。
overflow:hidden
的支持度还要低,而且更加晦涩难懂。 - cletusoverflow: hidden
相比之下,它的标记少了吗? - cletusoverflow:hidden
并不总是有效,如果子元素足够大,则在某些情况下会出现滚动条……当然这取决于情况,但是overflow:hidden
并不是100%的有效解决方法(最常见的是,如果宽度溢出)。 - Nick Craver