【发布时间】:2014-11-15 19:47:44
【问题描述】:
这是我的html:
<div class='parentDiv'>
<div class='childDiv'></div>
</div>
这是我的 CSS:
.parentDiv {
margin-top: 200px;
width: 700px;
height: 800px;
background-color: red;
}
.childDiv {
background-color: green;
width: 50px;
height: 50px;
margin-top: 22px;
}
小提琴:http://jsfiddle.net/1whywvpa/
为什么 childDiv 没有得到 22px 的 margin-top?如果像素大于已提供给 parentDiv 的 200px,它只会获得一个边距顶部。有什么方法可以让 childDiv 获得相对于 parentDiv 22px 的父 div 而无需执行某种类型的“给父 div 1px 填充”hack?
【问题讨论】:
-
position: absolute;到.childDiv会起作用,但我不确定你会使用它。 -
@MaryMelody 是的,我不想使用 position:absolute;
-
将
display: inline-block;设置为.childDiv或.parentDiv- jsfiddle.net/1whywvpa/2 -
@MaryMelody 谢谢,我想我最喜欢你的解决方案,因为我不想绝对定位 div,也不想让 childDiv 向左浮动。把它记下来作为答案,我会标记它。