HTML
<ul>
<li><a href="#">Item #1</a></li>
<li><a href="#">Item #2</a></li>
<li><a href="#">Item #3</a></li>
<li><a href="#">Item #4</a></li>
<li><a href="#">Item #5</a></li>
</ul>
CSS
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
display: inline-block;
width: 20%;
}
我的问题
当我使用display: inline-block;
我的<li>
元素时,它们的行为就好像它们比我使用float: left;
. 我将它们的宽度设置为 20% (100% / 5) 但最后一个<li>
被强制到下一行,好像它们太宽了......当我使用float: left;
而不是 时display: inline-block;
,五个<li>
元素符合预期(具有相同的宽度) ...
jsFiddle: 内联块与浮动
我想使用 inline-block 因为我不需要使用 clearfix 来使父级<ul>
扩展到<li>
元素的高度......如果我能找到使用的正确方法,我可能会决定使用 float clearfix 在这种情况下......无论如何,我仍然想知道为什么 inline-block 宽度太宽......<li>
只要宽度为 20% 并且里面的内容不是,这些元素应该在一行上适合五个宽度太宽了……
我能找到的唯一一个与我相似的问题是这个(这对我没有帮助):css inline-block vs float