我有一個很大的HTML文檔,帶有標題(h1,h2,h3...)和段落。當我打印文檔時,我希望文檔底部的頁眉自動轉到下一頁:
我要怎么做?我用“孤兒:3”CSS處理段落,用“p”標簽,但是用h1或h2不行。
@page {
size: A4;
}
p {
orphans:3;
}
h1, h2 {
orphans:3
}
行動的完整示例,其中:
1-2頁:段落孤兒作品好。 2-3頁:頁眉不起作用。 要求:
HTML有一個主div容器。 不要修改HTML。 瀏覽器支持并不重要(就我的具體工作而言)。 我需要一些CSS技巧(最好沒有JS或Jquery) 我不能使用分頁之前:總是因為我想標題只到下一頁時,出現在頁面底部。 在印刷術中,孤兒是:
在一頁或一欄的底部單獨出現的段落開始行,因此與正文的其余部分分開。
然而在HTML & lth1 & gt并且& ltp & gt是不同的段落,那么你必須使用的是break-after屬性來告訴布局引擎不要在該段落后放置分頁符(副作用是將下一段移動到上一頁-如果合適的話-或者將標題移動到下一頁。
h1, h2 {
break-after: avoid-page;
}
關于兼容性的注意事項:中斷后設置是一個真正的工作草案,甚至基本功能也沒有得到廣泛支持(特別是Internet Explorer 10 do es)。要解決這個問題,您可以使用另一個具有類似含義的屬性:
h1, h2 {
page-break-after: avoid;
}
請注意,分頁后適用于頁面和列。FF不太支持分頁功能(這是一個缺陷),如果兼容性很重要,段落不能跨越多個頁面,你可以使用換行& lth1 & gt并且& ltp & gt在容器內(假設& ltsection & gt)然后像這樣應用內部分頁符:
section {
page-break-inside: avoid;
}
在我看來,你應該使用帶有-moz前綴的page-break-inside來組合page-break-after和page-break-inside,直到它修復了這個錯誤。
這個問題是這個老問題的翻版:我如何避免在標題后立即分頁
最好的解決方案是這樣的代碼:
h1, h2, h3, h4, h5 {
break-inside: avoid;
}
h1::after, h2::after, h3::after, h4::after, h5::after {
content: "";
display: block;
margin-bottom: -4rem;
height: 4rem;
}