浮动列表有空白

时间:2012-10-16 07:14:04

标签: css css-selectors html-lists

HTML

<ul>
<li>The quick brown fox jumps over the lazy dog and the cat ran</li>
<li>sample 2</li>
<li>sample 3</li>
<li>sample 4</li>
<li>sample 7</li>
<li>sample 8</li>
<li>sample 9</li>
<li>The quick brown fox jumps over the lazy dog</li>
<li>sample 11</li>
<li>sample 12</li>
<li>sample 13</li>
<li>sample 14</li>
</ul>

CSS

ul {width:400px;}
ul li {width:196px;float:left;border:1px solid blue;height:100%;}

我上面和下面都有差距,我怎么能没有间隙呢? 这是一个示例jsfiddle

2 个答案:

答案 0 :(得分:0)

给出一些固定的高度,例如,高度:40px;

答案 1 :(得分:0)

列表的骑行边界导致了以下差距:

  • Border位于元素客户区之外,并且有自己的布局空间。因此,带边框的元素比没有边框的元素占用更多空间。

  • 右侧列表项的数量大于左侧。因此,右侧列表的总空间(总高度)大于左侧列表。

要解决此问题,可以使用负margin来补偿边框使用的布局空间。以下是相关更改的CSS:

ul li {width:196px;float:left;border:1px solid blue;margin:-1px;height:100%;}