【发布时间】:2012-10-19 22:31:17
【问题描述】:
我正在使用本文中的说明创建一个多列列表:
http://csswizardry.com/2010/02/mutiple-column-lists-using-one-ul/
简而言之,它说要按照以下方式做一些事情:
HTML:
<div class='block'>
<ul>
<li>
Item1
</li>
<li>
Item2
</li>
<li>
Item3
</li>
</ul>
</div>
CSS:
.block {
border: 1px solid black;
padding: 10px;
}
.block ul {
width: 100%;
overflow: hidden;
}
.block ul li {
display: inline;
float: left;
width: 50%;
}
而且它工作得很好,但我对 overflow:hidden CSS 声明感到难以置信。
没有它,我的外部 div 会像这样折叠:
http://jsfiddle.net/alininja/KQ9Nm/1/
当它被包含在内时,外部 div 的行为与我希望的完全一样:
http://jsfiddle.net/alininja/KQ9Nm/2/
我想知道为什么 overflow: hidden 会触发这种行为。我希望它会切断内部 li 项目,而不是强制外部 div 扩展到必要的高度。
感谢您的收看!
【问题讨论】:
-
非常有趣。实际上,如果您将
overflow: hidden更改为overflow: auto它仍然有效。希望我能解释原因,但这是一个非常有趣的发现。谢谢。 -
如果你指定高度,它会切断内部的 li 项目。这与其说是
overflow:hidden的行为,不如说是float:left/right的行为。
标签: html css html-lists overflow hidden