我正在生成基于 HTML 内容的 PDF 文档,并且遇到了分页问题。我有一个包含许多段落的文档,使用编号列表。这些工作得很好,除非它是一个超出页面末尾的多行段落。
在这种情况下,只有段落编号保留在当前页面上,而段落的整个文本将移至下一页。
我想将数字和所有文本移到下一页 -或者- 在当前页面上显示文本的第一行。换句话说,始终将段落编号和文本放在一起。
我尝试在列表项周围放置 section 或 div 标签并使用break-inside: avoid
,但这似乎没有任何效果。
谁能告诉我我在这里错过了什么?
ol {
counter-reset: section;
list-style-type: none;
padding-left: 0;
list-style-position: outside;
}
li {
margin-top: 10px;
display: block;
padding-left: 40px;
position: relative;
}
li::before {
counter-increment: section;
content: counters(section, ".") ". ";
width: 4em;
position: absolute;
left: 0;
}
section {
break-inside: avoid;
}
<!DOCTYPE html>
<html>
<b>Summary of the challenge</b>
<ol>
<li>
A paragraph with a single line of text works fine.
</li>
<section>
<li>
A multiline paragraph will break between the number and the text.
</li>
</section>
</ol>
</html>