【问题标题】:float list having gaps浮动列表有间隙
【发布时间】:2016-04-12 05:38:46
【问题描述】:

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

【问题讨论】:

    标签: css css-selectors html-lists


    【解决方案1】:

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

    【讨论】:

    • 试过了,但差距更大,需要全部挤掉
    【解决方案2】:

    列表的骑行边的边界导致了差距,因为:

    • 边框在元素客户区之外,有自己的布局空间。所以有边框的元素会比没有边框的元素占用更多的空间。

    • 右侧的列表项数大于左侧。所以右侧列表的总空间(总高度)大于左侧列表。

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

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

    【讨论】:

    • 谢谢,但样品 9 和样品 11 仍有差距 :-) 抱歉,我不太擅长这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多