Sto tentando di migliorare l'aspetto dei documenti HTML stampati con Webkit, in questo caso esercitando un controllo su dove si verificano le interruzioni di pagina.Controllo delle interruzioni di pagina CSS durante la stampa in Webkit
sono in grado di inserire interruzioni di pagina in cui ho bisogno utilizzando:
page-break-after: always;
Tuttavia, non riesco a trovare un modo per evitare interruzioni di pagina di essere inseriti nel bel mezzo di elementi. Ad esempio, ho tabelle html che non dovrebbero essere divise a metà tra più pagine. Ho avuto l'impressione che
page-break-inside: avoid;
impedirebbe un'interruzione di pagina venga inserita all'interno dell'elemento, ma non sembra essere di fare qualsiasi cosa. Il mio codice è simile:
.dontsplit { border: 2px solid black; page-break-inside: avoid; }
<table class="dontsplit">
<tr><td>Some title</td></tr>
<tr><td><img src="something.jpg"></td></tr>
</table>
Nonostante il page-break-inside: evitare direttiva ho ancora ottenere la scissione tavolo tra la prima e la seconda fila in pagine separate.
Qualche idea?
Intelligente! Stavo quasi per mollare. Purtroppo non sembra funzionare se hai più di un td in un tr, anche se li fai appartenere tutti alla classe. – Myforwik
@Myforwik - se l'altezza di questi TD è diversa, la suddivisione sembra predefinita con il div più breve (o quello, o il primo div dichiarato nella riga - non hanno finito di sperimentare). La soluzione che ha funzionato per me è - dopo il fatto - sondare ogni div in una riga con javascript e impostare le altezze via jquery al div più alto. Questo approccio funziona bene quindi su .11rc1 – herringtown
.dontsplit {page-break-inside: avoid; } aggiunto a un DIV funziona in Firefox v54.x – MarcoZen