css - 空间太大( float div)

标签 css html css-float stylesheet

我正在 float div,现在有一些间隙。这是我的代码:

<style>
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul li {
    display: block;
    float: left;
    border: 1px solid red;
    width: 80px;

}
</style>

<ul>

        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
        <li>Item 6</li>
        <li>Item 7</li>
        <li>Item 8</li>
        <li>Item 9</li>
        <li>Item 10</li>
        <li>Item 11</li>
        <li>Item 12</li>
        <li>Item 13</li>
        <li>Item 14</li>
        <li>Item 15</li>
        <li>Item 16</li>
        <li>Item 17</li>
        <li>Item 18</li>
        <li>Item 19</li>
        <li>Item 20</li>
        <li>Item 21</li>
        <li>Item 22</li>
        <li>Item 23</li>
        <li>Item 24</li>
        <li>Item 25</li>
        <li>Item 26</li>
        <li>Item 27</li>
        <li>Item 28</li>
        <li>Item 29</li>
        <li>Item 30</li>
        <li>Item 31</li>
        <li>Item 32</li>
        <li>Item 33</li>
        <li>Item 34</li>
        <li>Item 35</li>
        <li>Item 36</li>
        <li>Item 37</li>
        <li>Item 38</li>
        <li>Item 39</li>
        <li>Item 40</li>
        <li>Item 41</li>
        <li>Item 42</li>
        <li>Item 43</li>
        <li>Item 44</li>
        <li>Item 45</li>
        <li>Item 46</li>
        <li>Item 47</li>
        <li>Item 48</li>
        <li>Item 49</li>
        <li>Item 50</li>
        <li>Item 51</li>
        <li>Item 52</li>
        <li>Item 53</li>
        <li>Item 54</li>
        <li>Item 55</li>
        <li>Item 56</li>
        <li>Item 57</li>
        <li>Item 58</li>
        <li>Item 59</li>
        <li>Item 60</li>
        <li>Item 61</li>
        <li>Item 62</li>
        <li>Item 63</li>
        <li>Item 64</li>
        <li>Item 65</li>
        <li>Item 66</li>
        <li style="" class="">
    Multiple<br>
    Lines
    </li><li>Item 67</li>
        <li>Item 68</li>
        <li>Item 69</li>
        <li>Item 70</li>
        <li>Item 71</li>
        <li>Item 72</li>
        <li>Item 73</li>
        <li>Item 74</li>
        <li>Item 75</li>
        <li>Item 76</li>
        <li>Item 77</li>
        <li>Item 78</li>
        <li>Item 79</li>
        <li>Item 80</li>
        <li>Item 81</li>
        <li>Item 82</li>
        <li>Item 83</li>
        <li>Item 84</li>
        <li>Item 85</li>
        <li>Item 86</li>
        <li>Item 87</li>
        <li>Item 88</li>
        <li>Item 89</li>
        <li>Item 90</li>
        <li>Item 91</li>
        <li>Item 92</li>
        <li>Item 93</li>
        <li>Item 94</li>
        <li>Item 95</li>
        <li>Item 96</li>
        <li>Item 97</li>
        <li>Item 98</li>
        <li>Item 99</li>
        <li>Item 100</li>
    </ul>

您可以看到“多行” block 留下的间隙。我怎样才能自动“填充”这个空间?

问候, 凯文

最佳答案

问题是,在多行单元格中,只有 2 个像素用于边框,而在占据相同空间的两个单元格中,将使用 4 个像素的边框。这会产生 2 个像素的间隙。

一种解决方案是使用outline 而不是borderoutline 属性占用页面空间;它只是在其他所有内容之上围绕对象绘制边框。

因此,您可以使用 outline: 1px solid red 而不是 border: 1px solid red

亲 body 验 this jfiddle demonstration .请注意,我还添加了 line-height: 1.4em,但这只是为了给单元格多一点空间,因为具有 outline 属性的单元格实际上是 2像素更深。

关于css - 空间太大( float div),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628250/

相关文章:

javascript - 定位从固定到静态

javascript - 一个函数使用两个参数 : a variable and a string with the same name. 将它们减少为一个参数?

html - 如何摆脱 Bootstrap 面板之间的间距?

javascript - Chrome Web 浏览器的兼容性问题

css 菜单在空格后中断

html - <dt><dd> 标签行间距

javascript - jquery 从下拉菜单更改边框样式

javascript - 在 Javascript 中输入时 CSS Transition 不起作用

html - 带有 IE 的 iframe 和背景图片

html - 如何在 float div中设置多行文本不扩展他的宽度