我为一家意大利餐厅编写了一个菜单。这个菜单由一个无序列表组成,每个 li 元素都有一个名为“headline”的类。每个 li 元素包含一个标题,并包含一个内部 ul,其中包含作为菜品的 li 元素。
它看起来像这样:
我正在尝试制作可打印版本的菜单,但不知道为什么CSS中的“page-break-after”和“page-break-before”都无法在“.headline”上起作用。
我尝试了不同的显示值,如“block”,“inline-block”或“table-row”,因为阅读某些论坛建议这样做。我还尝试了不同的位置值(“absolute”,“relative”,“static”)...
我还尝试将“headline” li元素包装在div元素中,并在div元素上使用page-break:
它看起来像这样:
<ul>
<li class="headline">
<h3>Kind of dishes</h3>
<ul>
<li>Dish 1</li>
<li>Dish 2</li>
<li>Dish 3</li>
</ul>
</li>
<li class="headline">
<h3>Another kind of dishes</h3>
<ul>
<li>Dish 1</li>
<li>Dish 2</li>
<li>Dish 3</li>
</ul>
</li>
</ul>
我尝试了不同的显示值,如“block”,“inline-block”或“table-row”,因为阅读某些论坛建议这样做。我还尝试了不同的位置值(“absolute”,“relative”,“static”)...
我还尝试将“headline” li元素包装在div元素中,并在div元素上使用page-break:
<ul>
<div>
<li class="headline">
<h3>Kind of dishes</h3>
<ul>
<li>Dish 1</li>
<li>Dish 2</li>
<li>Dish 3</li>
</ul>
</li>
</div>
<div>
<li class="headline">
<h3>Another kind of dishes</h3>
<ul>
<li>Dish 1</li>
<li>Dish 2</li>
<li>Dish 3</li>
</ul>
</li>
</div>
</ul>
我开始相信我的唯一选择是重新思考无序列表的概念或者按需提供PDF文件...
我认为我会选择第二种方法,因为我在移动版本中使用li-s来切换ul-s。
我是否存在一个根本性错误,我还没有发现,或者无序列表中的分页位置根本无法控制?
编辑: 我尝试了“可能的重复线程”的不同建议,它所做的所有事情(我不知道我是否正确并且可以适当地解释它)就是尝试分页...
它在包含ul-s的“标题”li-s之间生成空格... 不幸的是,空白空间出现在页面的中间(打印预览和保存的pdf),并且具有一定的高度... 因此,它实际上并没有将“标题”li-s推到下一页... 只是在每个“标题”li结束的地方略微向下移动