【发布时间】:2015-01-27 05:53:54
【问题描述】:
我为每个“容器”使用 980 个网格、8 个边距、2 个填充和 176 的宽度,给我 5 个跨度。我正在使用 Firefox 进行测试。
我决定对其进行测试以确保它有效,并且最初为每个网格大小设置了 inline-block 以便它会自动排列。我试图将 5 个放在一个 980px 宽的容器中,其中 0 个边距和 0 个填充,但注意到 176 个大小的容器中只有 4 个在每个“行”排列。
然后我从 inline-block 更改为 float: left 突然间,就像魔术一样,一切都正确排列,我可以在容器内获得 5。我检查了一下,inline-block 在某处每个容器的每边占用了额外的 4px(必须使用 inline-block 将宽度降低到 172px 以使 5 个容器显示在一行中)。
我的问题:是什么导致 inline-block 每边使用额外的 4px?这是设计使然吗?我没有使用边框或任何会导致宽度增加的东西。
下面是我的 CSS:
.gSite{
width: 980px;
margin: 0px;
padding: 0px;
clear:both;
margin-left: auto;
margin-right: auto;
background-color: blue;
}
.g1{
margin: 8px;
padding: 2px;
width: 176px;
float: left;
background-color: red;
}
div#bodyContent{
}
还有 HTML:
<div id="bodyContent" class="gSite">
<div class="g1">
1A
</div>
<div class="g1">
2A
</div>
<div class="g1">
3A
</div>
<div class="g1">
4A
</div>
<div class="g1">
5A
</div>
<div class="g1">
1B
</div>
<div class="g1">
2B
</div>
<div class="g1">
3B
</div>
<div class="g1">
4B
</div>
<div class="g1">
5B
</div>
</div>
【问题讨论】:
-
inline-blocks之间有空格吗? -
@Rhumborl 略有不同,我知道有一些奇怪的问题(以及如何解决它),但链接的问题并没有问它为什么这样做,只是如何解决它。如果可能的话,我真的很想使用 inline-block 因为它更简单,而且它应该(据我所知)工作相同
-
显然将 div 放在新行上算作空白?很奇怪..这是一个错误还是打算这样工作?