2011-03-14 78 views
6

我有两个<div>在父母<div>内。两者的内部都没有padding,bordermarginwidth:50%; display:inline-block;的样式。外部<div>也没有padding等等。Firebug显示<div>的外部宽度为1240px,而每个内部宽度为620px。那么为什么他们出现在另一个之下而不是并排?如果我把它们的宽度降低到618px,它就可以工作。咦?CSS宽度不加起来

+3

如何向我们展示该页面或[jsfiddle](http://jsfiddle.net)? – 2011-03-14 20:12:59

+5

620px + 620px +空格(白色)字符> 1240px – Michas 2011-03-14 20:15:23

+0

@Mat球+1 jsFiddle太棒了! – 2011-03-14 20:18:45

回答

9

display:inline-block在绘制元素AFAIK时考虑标记空白的方式不方便。尝试将font-size:0设置为父元素(如果它没有任何其他文本),并为子元素设置所需的font-size

P.S.,首先尝试消除元素间标记的空白区域,看看是否可以解决问题。

+0

就是这样!谢谢。 – baruch 2011-03-14 20:24:22

0

这听起来像一个相当简单的解决方案,如果你有两个块,A和B,他们是完全相同的大小,你直接看着他们,他们排队完美,你只会看到一个块。

您正在尝试显示不适合容器内部的内容。您已经解决了您的问题,容器的尺寸或温和地降低,以适应他们在一起。