Ich erstelle einen HTML-Bericht, der gedruckt werden kann und "Abschnitte" enthält, die auf einer neuen Seite beginnen sollen.
Gibt es eine Möglichkeit, etwas in HTML/CSS einzufügen, das dem Browser signalisiert, dass er an diesem Punkt einen Seitenumbruch erzwingen muss (eine neue Seite starten)?
Ich brauche das nicht, um in jedem Browser zu funktionieren. Ich glaube, ich kann den Leuten sagen, dass sie einen bestimmten Satz von Browsern verwenden sollen, um dies auszudrucken.
Fügen Sie eine CSS-Klasse mit dem Namen "pagebreak" (oder "pb") wie folgt hinzu:
@media print {
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
}
Fügen Sie dann ein leeres DIV-Tag ( oder ein beliebiges Blockelement, das eine Box generiert ) hinzu, in dem der Seitenumbruch erfolgen soll.
<div class="pagebreak"> </div>
Es wird nicht auf der Seite angezeigt, aber die Seite wird beim Drucken getrennt.
P.S. Vielleicht gilt dies nur für die Verwendung von -after
(Und was Sie sonst noch mit anderen <div>
Auf der Seite tun könnten), aber ich stellte fest, dass ich die CSS-Klasse wie folgt erweitern musste:
@media print {
.pagebreak {
clear: both;
page-break-after: always;
}
}
Versuchen Sie dies Link
<style>
@media print
{
h1 {page-break-before:always}
}
</style>
Sie können die CSS-Eigenschaft page-break-before
(oder page-break-after
). Setze einfach page-break-before: always
auf den Elementen auf Blockebene (z. B. Überschrift, div
, p
oder table
Elemente), die in einer neuen Zeile beginnen sollen.
Um beispielsweise einen Zeilenumbruch vor einer Überschrift der zweiten Ebene und vor einem Element der Klasse newpage
(z. B. <div class=newpage>
...) würden Sie verwenden
h2, .newpage { page-break-before: always }
Ich wollte nur ein Update setzen. page-break-after
ist jetzt eine Legacy-Eigenschaft.
Offizielle Seite Staaten
Diese Eigenschaft wurde durch die break-after -Eigenschaft ersetzt.