我正在使用 css column-count 功能将我的部分分成两列。在一个页面上,我在第一列的底部有一个 h3 标题,在下一列的顶部有以下 p 段。我想将标题与段落的前几句保持一致。我可以通过将两者都包装在使用 inline-block 样式的 div 中来保留整个段落。这适用于短段落,但不适用于长段落。我也可以任意拆分段落,但如果在标题之前添加了额外的内容,我可能不得不将它重新组合在一起,迫使它进入下一列。如果不可能,因为列数是新的,我不会感到惊讶。
更新
根据下面@Jon 的建议,我现在知道了关键字,所以我尝试从我在网上找到的示例中进行破解。
CSS:
.heading-with-text {
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
break-inside: avoid;
}
HTML:
<section class="heading-with-text">
<h3>Blah, Blah</h3>
<p>woof, woof</p>
</section>
在 OS X 平台上,它在 Firefox 24.0 中根本不起作用。在 Safari 6.0.5 和 Chrome 30.0.1599.66 中,它将标题移动到下一列,使其位于文本上方。但是,无论我在段落中添加了多少文本,浏览器都不会在段落中放置一个断点。它就像 inline-block 一样工作。我猜他们认为“避免”意味着不惜一切代价避免。这种方法似乎是正确的方法。只是目前没有得到很好的支持。