我感到困惑的是,将float
应用于li
元素似乎意味着包含ul
元素没有高度。您可以看到问题in this jsFiddle。
基本上,我想创建一个ul
,其中包含任意数量的li
元素。我希望每个li
元素的宽度为20%,因此每行最终会有五个li
个元素。
我还希望ul
元素有一些高度,所以我可以应用底部边框。
如果我在li
s:
.result1 {
width: 20%;
float: left;
}
然后ul
的高度为0.我看过推荐display: inline-block
的帖子,但如果我改用它:
.result2 {
width: 20%;
display: inline-block;
}
然后ul
有高度,但li
之间有空格,所以它们会突破两行。
这一定是CSS规范中的一些我无法理解的东西。如何在每行中获得五个元素,包含元素的高度?
答案 0 :(得分:5)
将overflow: hidden;
添加到父<ul class="results">
答案 1 :(得分:2)
浮动元素会导致父级折叠,您需要清除父元素。
.results:after {
content: "";
display: table;
clear: both;
}