2013-05-10 33 views
1

这里内inline-block的元素和利润率奇怪的行为是jsfiddle关于容器

在我的例子,无论是给孩子一个元素底边距导致其兄弟姐妹被我指定的任何保证金下推的;自从容器大于每个div以来,我没有预料到会发生任何变化。为什么会这样?

HTML

<div class=container> 

    <section></section> 
    <aside></aside> 

</div> 

CSS

.container { 
background: whitesmoke; 
height: 12em; 
width: 12em; 
} 

.container section { 
background: slategray; 
display: inline-block; 
height: 04em; 
margin-bottom: 20px; 
width: 04em; 
} 

.container aside { 
background: gold; 
display: inline-block; 
height: 04em; 
width: 04em; 
} 

回答

3

添加vertical-align: topsection元素。由于这些元素是“在线块”,它们不再简单地表现为行为 - 它们具有流动的文本属性。它并不是真正推动另一个元素的margin,它是他们拥有的默认vertical-align属性。

+1

改变其行为,但并没有解释为什么* *这种情况正在发生...... – Adrift 2013-05-10 23:51:17

+2

你不应该看一下第二个元素被推下来,而是保持与整行内嵌块的底部对齐,现在它与最高元素一样高(在您的情况下,该部分的高度+边距)。 – 2013-05-11 00:04:15

+0

@MartinTurjak听起来比我的更好的解释。我猜。 – kapa 2013-05-11 00:05:18