爲什麼.ibg .im
頁邊距設置會影響文本對齊?保證金影響父母>兄弟姐妹項目?
我試着找到一個解決方案,但搜索詞的含糊不清在谷歌提出的結果。
任何人都可以闡明這一點嗎?任何援助讚賞。
小提琴這裏:http://jsfiddle.net/775zA/1/
要看到我的問題,從.ibg .im
CSS規則中刪除的空白。
CSS
body {
padding-top: 50px;
}
.ibg {
width: 48px;
height: 48px;
display: inline-block;
}
.ibg .im {
margin: 8px;
}
.olist {
font-size: 18px;
font-weight: bold;
font-family: Futura, "Trebuchet MS", Arial, sans-serif;
list-style: none;
}
.olist li {
list-style: none;
}
.olist .lbl {
margin-left: 10px;
display: inline-block;
}
HTML
<div class="container">
<div class="starter-template">
<ul class='olist'>
<li>
<div class='ibg' style='background-color: #B1BF54'>
<div class='im'>
<img src='http://placehold.it/32x32/000000/ffffff&text=img' />
</div>
</div>
<div class='lbl'>Title here</div>
</li>
</ul>
</div>
</div><!-- /.container -->
UPDATE
如此看來,這個問題觸及了這個問題:CSS Margin Collapsing。但是它沒有解決刪除兄弟填充/邊距的方法。
假設我想讓文本出現在綠框的頂端......沒有辦法做到這一點,沒有position:relative;
和top:-8px
?這種解決方案似乎是一個很奇怪的CSS怪癖不必要的hackish響應
將'vertical-align:top'設置爲'.lbl'可能是您需要的,請參閱我發佈的答案中的演示。 –
也與此問題相關:http://stackoverflow.com/questions/1762539/margin-on-child-element-moves-parent-element –