【发布时间】:2015-06-20 09:05:17
【问题描述】:
所以我基本上得到了一个由边框分隔的项目列表。我想对每个项目的顶部和底部应用相等的填充和边距。
这是一个 fiddle,其中包含我正在使用的简化版本。
现在,你看,我在每个项目的顶部和底部应用了 10px 的 margin 和 padding,但这些项目的间距并不均匀。每个项目上方的空间比其下方更多。
我意识到这可能是 CSS collapsing margins behaviour 的结果,我可以通过添加比边距更多的填充来修复它以获得我想要的间距。
但问题是,对于某些项目,我想通过添加背景颜色来突出显示,例如 fiddle。当我这样做时,顶部和底部的填充必须相同。
那么我该如何解决这个问题呢?我希望它超级灵活,因此我可以根据需要自定义填充和边距的数量,并且还可以移除边框但仍然可以正常显示。
HTML:
<div class="list">
<div class="item">
<span class="fill"> </span>
</div>
<div class="item">
<span class="fill"> </span>
</div>
<div class="item">
<span class="fill"> </span>
</div>
</div>
CSS:
.item {
display: block;
width: 150px;
margin-top: 10px;
margin-bottom: 10px;
padding-bottom: 10px;
padding-top: 10px;
border-bottom: 1px solid red;
}
.fill {
background-color: #aaa;
display: block;
height: 150px;
}
.bg {
background-color: #ccc;
}
【问题讨论】:
-
请编辑您的问题以包含相关的 HTML 和 CSS 作为代码 sn-ps(除了非常有用的 jsfiddle 项目)。
-
我只是认为将 HTML 和 CSS 放在条目底部是非常多余的,因为无论如何每个人都只会在 jsfiddle 中查看它。不过没关系