我在风格之间block1
和风格之间得到了不需要的余量。看到这个jsFiddle。block2
display: inline-block
HTML
<div id="container">
<div id="innercontainer">
<div id="block1">
block1
</div>
<div id="block2">
block2
</div>
</div>
</div>
CSS
* {
margin: 0px;
padding: 0px;
}
#container {
background-color: #f00;
width: 100%;
height: 200px;
}
#innercontainer {
background-color: #0f0;
width: 200px;
height: 200px;
margin: 0px auto;
}
#block1, #block2 {
display: inline-block;
background-color: #00f;
height: 200px;
}
当我将 HTML 更改为此时,边距消失:
<div id="container">
<div id="innercontainer">
<div id="block1">
block1
</div><div id="block2">
block2
</div>
</div>
</div>
或这个:
<div id="container">
<div id="innercontainer">
<div id="block1">
block1
</div><!--
--><div id="block2">
block2
</div>
</div>
</div>
虽然我更喜欢后者,但我仍然想知道是否有人知道解决方案,以便我可以使用原始 HTML,但innercontainer
. 另请注意,我想避免同时设置float: left;
和block1
/block2
或使它们浮动,position: absolute|relative
因为这会在我的布局中产生其他问题。有任何想法吗?
编辑
好的,所以我的布局遇到了更多麻烦。当我向 block1 添加图像时,整个块向下移动,非常奇怪(参见jsFiddle)。我现在正在使用float: left
并且必须弄清楚如何添加一个消耗右侧可用空间的 div。