【发布时间】:2021-04-04 18:58:11
【问题描述】:
我有一个带有段落的多列 div,我需要任何段落簇中的最后一个段落以底部的空格结尾。目前,我在p 上使用margin-bottom 来实现这一点,然后在p+p 上使用相同的负数margin-top。这一切都很好。然后,我在这些段落下方添加了一个跨列 div。出于某种原因,扳手似乎忽略了第一列中段落的margin-bottom,这意味着如果列不平衡,我的 div 会忽略间距(实际上是在 如果您在 Chrome 检查器中查看它的边距),则与上面的段落相近。是否有一些干净的解决方案来获得一致的间距?您可以在此处的 sn-p 中看到这种情况:
.container {
column-count: 2;
border: solid black 1px;
width: 200px;
}
.spanner {
background-color: #aaf;
column-span : all;
}
p {
margin-top : 0px;
margin-bottom: 20px;
padding : 5px;
background-color : #ffa;
}
p+p {
margin-top: -20px;
}
<b>Balanced columns are fine:<b>
<div class="container">
<p>1 1 1 1 1 1 1 1 1 1 1</p>
<p>2 2 2 2 2 2 2 2 2 2 2</p>
<p>3 3 3 3 3 3 3 3 3 3 3</p>
<p>4 4 4 4 4 4 4 4 4 4 4</p>
<p>5 5 5 5 5 5 5 5 5 5 5</p>
<p>6 6 6 6 6 6 6 6 6 6 6</p>
<div class="spanner"> span the whole column, bro. </div>
</div>
<br>
<br>
<b>Unbalanced columns ruin my life:<b>
<div class="container">
<p>1 1 1 1 1 1 1 1 1 1 1</p>
<p>2 2 2 2 2 2 2 2 2 2 2</p>
<p>3 3 3 3 3 3 3 3 3 3 3</p>
<p>4 4 4 4 4 4 4 4 4 4 4</p>
<p>5 5 5 5 5 5 5 5 5 5 5</p>
<div class="spanner"> span the whole column, bro. </div>
</div>
编辑:添加了额外的上下文,因为建议的答案并不能完全解决我的问题。
【问题讨论】:
-
请结帐stackoverflow.com/questions/38020462/… 我认为您唯一的解决方案是在容器底部添加边距。并且不要忘记将微调器从容器中取出。
-
感谢您的回复!但是,链接的帖子似乎是一个明显不同的问题,并且该页面上的修复在这种情况下不起作用。不幸的是,插入容器对象也不是一种选择,因为该内容是从实时用户输入动态生成的,而且我认为开发单独的 JS 逻辑以编程方式在用户键入的所有内容周围注入容器对象不会非常干净(不要提到它会用他们可能不期望的 div 污染用户输入)。 ://
标签: html css css-multicolumn-layout