Thomas Luethi: page-break mit divs klappt nicht?!

Beitrag lesen

Hallo,

ich würde gerne folgendes realisieren: mehrere divs mit fixer höhe untereinander, im print-css sollen die divs so umbrechen, dass wirklich immer daer ganze div auf der nächsten seite anfängt, und nichts in der mitte zerschnitten wird.

Damit ein DIV zwingend auf einer neuen Seite anfängt, gibt es:
page-break-before:always

Damit etwas nicht mittendrin zerschnitten wird, gäbe es
page-break-inside:avoid
Wird aber leider gemäss
http://reference.sitepoint.com/css/page-break-inside
nur von Opera 9.2 unterstützt, nicht aber von Firefox 2 oder MS IE 7.

<div style="page-break-after:auto;height:260px;background-color:#33FF66">test</div>

page-break-after:auto ist eh der Standardwert, bringt also vermutlich nichts.

Wenn schon, müsstest Du einen Seitenumbruch erzwingen, z.B. wie gesagt mit
page-break-before:always
Das sollte gemäss
http://reference.sitepoint.com/css/page-break-before#compatibilitysection (Abschnitt Compatibility)
in Firefox 2, MS IE 7 und Opera 9.2 funktionieren

Allgemeine Lektüre zum Thema:
http://de.selfhtml.org/css/eigenschaften/printlayouts.htm

HTH, mfg
Thomas

P.S. Wenn Du eine Hintergrundfarbe definierst, solltest Du
im gleichen Atemzug auch eine Vordergrundfarbe definieren.
Sonst gibt der CSS-Validator eine Warnung aus (zumindest
bei zentralen Stylesheets - ob er mittlerweile STYLE-Attribute
auch untersucht, ist mir nicht bekannt).
Grund: Es könnte zu schlechten Kombinationen von Schrift-
und Hintergrundfarbe kommen, wenn z.B. für BODY eine bestimmte
Schriftfarbe und Hintergrundfarbe definiert ist, und Du später
für einen DIV nur die Hintergrundfarbe definierst.