我是浮动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>
您可以看到“多行”块中留下的间隙。如何自动“填充”此空间?
此致 凯文
答案 0 :(得分:2)
问题在于,在多行单元格中,只有2个像素用于边框,而在占据相同空间的两个单元格中,将使用4个像素的边框。这会产生2像素的间隙。
一种解决方案是使用outline
代替border
。 outline
属性不占用页面空间;它只是在对象周围绘制一个边框。
因此,您可以使用border: 1px solid red
代替outline: 1px solid red
。
亲自见this jfiddle demonstration。请注意,我还添加了line-height: 1.4em
,但这只是为了为单元格提供更多空间,因为具有outline
属性的单元格实际上更深2个像素。
答案 1 :(得分:0)
您可以将min-height
添加到ul li
选择器,以达到“多行”li的最小高度。
就我而言,我将其添加到ul li
min-height:37px
但是这只解决了我的默认字体大小的问题,现在,每个小时的高度至少为37px,这可能不是你想要的。
答案 2 :(得分:0)
我认为你不能自动填补这个空间。你的代码的工作方式基本上说 - 浮动所有东西。由于一个项目较大,因此占用更多空间。正如mrk刚才指出的那样,你可以将所有li
的最小高度设置为多行的最小高度。虽然这意味着所有细胞都将是两倍大,但我不认为这是你想要的。
我无法想到一种可以获得这种效果的替代方案,而不会回到可以让你获得更多控制权的东西上。例如一张桌子。