【发布时间】:2012-03-01 01:36:50
【问题描述】:
我知道我正在寻找的真正目标是 css 圣杯,但在这个非常简单的实验中,我得到了“幻影”间距,我希望有人能解释一下。
以下情况发生在 Firefox 中,但不在 Chrome 中(尽管 Chrome 有它自己的问题,我稍后会解决):
HTML:
<div id="wrapper">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</div>
CSS:
#wrapper {
width: 760px;
height: 100px;
background-color: yellow;
}
#wrapper div {
display: inline-block;
padding: 0;
margin: 0;
width: 250px;
height: 90px;
background-color: red;
}
#wrapper #div1 {
background-color: red;
}
#wrapper #div2 {
background-color: green;
}
#wrapper #div3 {
background-color: red;
}
请注意,我使用了背景色而不是边框,因此不会出现任何框间距问题(据我所知)。
如果我在 Firebug 中检查每个 div(外部和内部),宽度是正确的,但每个 div 和第三个 div 之间显然存在间隙。
直到我将宽度设置为 761px,每个 div 在每个内部 div 和最后一个 1-2 像素之间的间隙约为 3-4 像素,才会发生这种情况。
所以在所有边距、填充和边框都关闭的情况下,这个间距是从哪里来的,有没有办法(没有浮动或负边距)将此间距设置为 0?
我认为也许 Firefox 正在应用内联属性,例如 word-spacing 或 letter-spacing,但我也尝试将所有这些都关闭。
有人知道这个空间是从哪里来的吗?
【问题讨论】: