【发布时间】:2017-09-07 10:32:54
【问题描述】:
这里是jsfiddle 现场演示。
我想让块引用的顶部和底部的填充相等(准确地说是 0.5em)。
乍一看,这是基本而琐碎的任务,但我遇到了一个问题 - 在块引用底部折叠边距/填充(如果我理解正确的话)。
我找到了一些解决方法(比如添加 1px 边框或填充),但它肯定很脏。
所以,问题是:有没有一种好方法可以使块引用的顶部和底部的填充相等,如图所示?
<style>
body { width: 400px; }
p { margin-top: 0; margin-bottom: 0.5em; }
blockquote {
background-color: antiquewhite;
padding-top: 0.5em; padding-bottom: 0.5em;
margin-top: 0; margin-bottom: 0.5em;
}
/* Two workarounds */
/*
blockquote { padding-bottom: 1px; }
blockquote { padding-bottom: 0; border-bottom: 1px solid antiquewhite; }
*/
/* Will not work, due to padding/margin collapsing, as I understand */
blockquote { padding-bottom: 0; }
</style>
<p>Some text before blockquotes</p>
<blockquote>
<p><strong>1st blockquote</strong></p>
<p>1st paragraph. Foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo.</p>
<p>2nd paragraph. Bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar.</p>
</blockquote>
<blockquote>
<p><strong>2nd blockquote</strong></p>
<p>1st paragraph. Foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo.</p>
<p>2nd paragraph. Bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar bar.</p>
</blockquote>
<p>Some text after blockquotes</p>
【问题讨论】:
-
您是否尝试过删除最后一段的 margin-bottom 并将 padding-bottom:.5em 应用于块引用?
-
您的意思是
blockquote p:last-child { margin-bottom: 0; }?是的,这是另一种解决方法。这不是一个好主意,因为有时它会是块引用底部的另一个元素(不是ps)。