Kann ich erzwingen einen Seitenumbruch in HTML drucken?
Mache ich ein HTML-Bericht ist druckbar, und es hat "Abschnitte", die gestartet werden soll in einer neuen Seite.
Gibt es eine Möglichkeit, etwas in den HTML/CSS, dass das signal an den browser, die es braucht, zu zwingen einen Seitenumbruch (Beginn einer neuen Seite) an diesem Punkt?
Ich brauche das nicht, um zu arbeiten in jedem browser gibt, ich denke, ich kann sagen, die Menschen eine bestimmte Menge von Browsern, um zu drucken.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen einer CSS-Klasse namens "pagebreak" (oder "pb"), etwa so:
Fügen Sie ein leeres DIV-tag ( oder jedes block-element erzeugt eine box ), wo die Seite Pause.
Wird es nicht zeigen, bis auf der Seite, aber brechen wird die Seite beim drucken.
P. S. Vielleicht ist dies nur gilt bei Verwendung
-after
(und auch, was du sonst tun mit anderen<div>
s auf der Seite), aber ich fand, dass ich hatte zu ergänzen, die die CSS-Klasse wie folgt:page-break-after
"gilt für block-Elemente erzeugen eine box", also mit einem leeren<span>
element wird nicht funktionieren. Es ist eine bessere Idee, um es anzuwenden, um ein Stück von Ihrem Inhalt. Siehe developer.mozilla.org/en-US/docs/Web/CSS/page-break-after.pagebreak { min-height: 1px; page-break-before: always; }
Versuchen, diese link
h1
ist kein gutes Beispiel, da es bedeutet, dass ein 1st-level-Position, und eine Seite sollte in der Regel nur mit einer solchen überschrift.h1:not(:first-child) { page-break-before:always; }
Können Sie die CSS-Eigenschaft
page-break-before
(oderpage-break-after
). Setzen Sie einfachpage-break-before: always
auf diese block-level-Elementen (z.B. überschrift,div
,p
odertable
Elemente), das sollte für den Anfang einer neuen Zeile.Beispielsweise verursachen einen Zeilenumbruch vor jedem 2. Ebene überschrift und vor jedem element in der Klasse
newpage
(z.B.<div class=newpage>
...), die Sie verwenden würden,Wollte nur ein update.
page-break-after
ist eine alte Eigenschaft jetzt.Offizielle Seite Staaten
Diese scheint nicht zu funktionieren auf meiner Seite. Ich bin putting das div-tag mit der page-break-Klasse nach x Anzahl von divs ausgegeben wurden, so dass die bedruckte Seite wird 'Pause' sauber. Und ja - ich habe überprüft und erneut überprüft mein code angesehen und die source-Seite in meinem browser.
@Chris Doggett macht auch Sinn.
Obwohl, ich fand einen lustigen trick auf lvsys.com, und es funktioniert tatsächlich auf firefox und chrome. Setzen Sie einfach diesen Kommentar überall, wo Sie möchten, dass der Seitenumbruch eingefügt werden soll. Sie können auch ersetzen die
<p>
tag mit jedem block-element.