Frage Wie kann man einen zusammenhängenen Block innerhalb einer Tabelle für den Ausdruck festlegen?

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Hallo, auf dem Screenshot sieht man eine Druckvorschau mit Speiseplan mit einer Tabelle von sieben Tagen. Für die nächten Wochen gibts weitere Tabellen mit jeweils
CSS:
 table    { page-break-inside: avoid; }
formatiert, soweit weit so gut. Nun hätte ich gerne, dass auch ein Tag innerhalb einer Tabelle zusammenhängend bleibt, in diesen Fall den Donnerstag auf die nächste Seite.
Versucht habe ich das Blockelemet "<section>" für ein Tag ins HTML einzubauen und dies auch mit "{ page-break-inside: avoid; }" zugewiesen, leider ohne Erfolg. Gibt es da noch andere Möglichkeiten? Ich würde nur ungerne für jeden Tag eine Tabelle ausgeben.

Screenshot 2021-07-30 132051.jpg
 

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Ich hab die Erfahrung gemacht, dass mit jeder Änderung neue Schwierigkeiten auftreten. Dachte auch ich sehe den Wald vor lauter Bäumen nicht und es gäbe eine einfache Lösung dafür. Aber wenn dem nicht so ist, werd ich die Woche wohl in Tage (Tabellen) aufteilen.
 

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Das funktioniert sicherlich, aber kann bei meinen Tabellen keine Position für den Seitenumbruch festlegen. Das entscheidet sich ja erst dann, wenn der nächste Tag nicht mehr auf die Seite passt. Was ja bei unterschiedlichen Seitenränder auch immer noch wieder anders ausfallen kann. Daher mein Versuch ein Tag mit <Section> zusammenhängend zu machen.
 

basti1012

Senior HTML'ler
26 November 2017
1.648
174
63
Minden
basti1012.de
Kannst du den Zeilen , wo der Tag drinnen steht nicht eine Klasse geben und der klasse dann nicht das page-break-before geben ?


Oder funktioniert das nicht?
Habe mit page-beak auch noch nie gearbeitet
 

Dieter!

Neues Mitglied
8 Juni 2021
26
0
1
Oldenburg
Doch das wüde gehen, damit hätte ich dann aber für jeden Tag eine Seite. Ich möchte ja schon, dass mehrere Tage auf eine Seite kommen wenns passt.

Kurze Hoffnung hatte ich gerade mit <tbody>. Jeden Tag in ein <tbody> und dann
CSS:
tbody    { page-break-inside: avoid; }
Funktioniert im Firefox super, im Edge leider nicht. Ich vermute, dass man mehrere <tbody>s nicht in einer Tabelle benutzen darf.

Kleines Update: Es dürfen zwar mehrere <tbody>-tags in einer Tabelle verwendet werden.
"tbody { page-break-inside: avoid; }" funtioniert leider trotzdem nicht im Edge.
 
Zuletzt bearbeitet:

m.scatello

Senior HTML'ler
15 Februar 2017
1.617
187
63
Das kann man mit einer entsprechenden PDF-Library und PHP problemlos hinbekommen.