【发布时间】:2019-02-05 01:07:57
【问题描述】:
column-fill: balance; 应该“在列之间平均划分内容”。它似乎在 Firefox 和 Edge 中正常工作。但是 Chrome(和 Opera)似乎真的不喜欢第二列,所以它大部分是空的。
这似乎与元素的高度有关,但我无法弄清楚具体如何。在第一个示例中,我希望第二段位于第二列中,但 Chrome 将它们都放在左列中,而将右列留空。
第二个例子展示了一个不同的类似不平衡的例子。
div {
border: solid blue 3px;
column-count: 2;
column-fill: balance;
}
p {
border: solid red 3px;
break-inside: avoid;
}
.second { height: 100px; }
<div>
<p>plain</p>
<p class=second>.second</p>
</div>
<hr>
<div>
<p>plain</p>
<p>plain</p>
<p>plain</p>
<p class=second>.second</p>
<p>plain</p>
</div>
这是一个错误吗?我是否缺少所有其他浏览器供应商也缺少的东西?
更重要的是,我怎样才能让这样的东西工作,甚至可能诉诸讨厌的黑客?
【问题讨论】:
-
删除
p的顶部/底部边距:codepen.io/anon/pen/mvBPRN(或改用div,这可能更合适)...请注意,CSS 列仍然有些错误,并且在某些情况下可能需要前缀属性:css-tricks.com/almanac/properties/c/columns
标签: css google-chrome css-multicolumn-layout