2012-04-25 20 views
5

Ich bin über eine Liste von Objekten iterieren. Mit jeder Iteration baue und befülle ich eine Tabelle, die den Inhalt einer einzelnen Seite enthält.Wie verhindere ich eine leere letzte Seite?

Ich verwende CSS, um einen Seitenumbruch nach jeder Tabelle hinzuzufügen.

table { page-break-after: always; } 

Das funktioniert gut, außer dass ich immer eine leere letzte Seite bekomme. Was ich vermute, liegt an der letzten Tabelleniteration, die einen Seitenumbruch anlegt.

Ich habe es versucht.

table { page-break-after: always; } 
table { page-break-after: auto; } 
table { page-break-after: left; } 
table { page-break-after: right; } 

Allerdings bekomme ich immer diese leere letzte Seite.

Gibt es eine andere Methode zum Einfügen von Seitenumbrüchen, die die leere letzte Seite nicht erstellen würde?
Oder vielleicht eine Möglichkeit zu erkennen, ob die letzte Iteration ist und nicht den letzten Seitenumbruch einfügen?

+1

Können Sie einen Klassennamen auf die erste oder letzte Tabelle mit passendem CSS anwenden? – freefaller

Antwort

12

Sie könnten hinzufügen:

table:last-of-type { 
    page-break-after: auto 
} 

Oder vielleicht

body > *:last-child { 
    page-break-after: auto 
} 
+0

Ich habe eine Tabelle hinzugefügt: last-of-type {page-break-after: auto} zu meiner CSS scheint es keine Wirkung zu haben. Damit werden überhaupt keine Seitenumbrüche erstellt, sodass die Seiten zusammen laufen? – Baxter

+0

Muss ich meine Tabellen in einer bestimmten Weise oder in einem anderen übergeordneten Container als organisieren? – Baxter

+0

Ist dies zusätzlich zu 'table {page-break-after: always}'? – pbfy0

2

ich Rubin bin mit Seiten zu erstellen. Ich habe verschiedene CSS zum Brechen und nicht zum Brechen geschaffen.

#publication_no_break{ 
/* stuff here */ 
page-break-after: avoid; 
} 

#publication_break{ 
/* stuff here */ 
page-break-after: always; 
} 

Und auf Code zähle ich jede Seite, die ich brauche zu drucken und

<% if page != total_pages %> 
< .... .... id="publication_break" > 
<% else %> 
< .......... id="publication_no_break"> 
<% end %> 

Sie können in jeder Sprache so etwas wie dies versuchen Sie Codierung.