2013-05-10 28 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