Я пытаюсь создать красивую html-страницу. Мне нужно сделать разрыв страницы между конструкциями верхнего уровня, поэтому я добавил класс CSS в элемент верхнего уровня каждой конструкции и установил page-break-before: всегда в CSS для этого класса. E.g.:
<body>
<div class="prettyprint">
<div class='toplevel'>
...
</div>
<div class='toplevel'>
...
</div>
</div>
</body>
.prettyprint .toplevel { page-break-before:always; }
Моя проблема в том, что я получаю пустую страницу перед первым элементом верхнего уровня. Что имеет смысл, учитывая то, что нужно делать перед переносом страницы: всегда следует делать. Но я этого не хочу.
Итак, один из вариантов - не включать класс «toplevel» в первый элемент или предоставлять новый класс «firsttoplevel», который не устанавливает page-break-before: всегда, и устанавливать его для первой вершины. -уровень элемента, а затем использовать «toplevel» для всех остальных. Я мог бы сделать это достаточно легко, но кажется, что это нарушает разделение интересов.
Так что мне было интересно, есть ли способ сделать это в CSS? Чтобы установить правило, которое будет применяться только к первому дочернему элементу «toplevel» prettyprint?
Любые идеи будут оценены.