【发布时间】:2017-10-16 02:04:19
【问题描述】:
我有一个 div,其高度由一个封闭的 div 决定。问题是,当我在顶部添加一些额外的边距时,包含的 div 会正确调整大小。当我在底部添加边距时,似乎只有封闭的 div 框模型受到影响,而封闭的 div 则不受影响。
HTML
<div style="height:100px;background-color:#adadbb">
IRRELEVANT THINGS HERE
</div>
<div class="dynamicDiv">
<span> title</span>
<div class="card">
Content here
</div>
</div>
<div style="height:100px;background-color:#adadbb">
IRRELEVANT THINGS HERE VOL 2
</div>
CSS
.dynamicDiv{
background-color:yellow;
}
.card{
height:15vh; //an example of the height for this card. could be anything.
margin-top:10px;
margin-bottom:10px;
}
这似乎与<span> title</span> 元素有关,就好像我在底部添加一个元素一样,我希望它们可以工作(除非跨度为空,在这种情况下,事情呈现为好像跨度不存在)。
我不太明白为什么会发生这种情况,所以如果它明显与盒子模型有关,请告诉我。非常感谢。
在这里拉小提琴:
https://jsfiddle.net/d88yr4yw/
P.S:我试图实现的是拥有一个始终与封闭 div 高度一样高的 div + 顶部和底部边距 + 任何其他可能存在的元素。我宁愿我不必硬编码任何高度,如果不是不可能解决这个问题的话。
【问题讨论】:
-
如果给动态 div 添加 10px 的内边距而不是为卡片 div 使用边距会怎样?
-
这是一个很好的解决方法,但我更感兴趣的是找出我的小提琴到底发生了什么以及为什么,主要是为了更好地理解原因。