Je tente d'améliorer l'aspect des documents html imprimés en utilisant Webkit, dans ce cas en exerçant un certain contrôle sur l'occurrence des sauts de page.Contrôle des sauts de page CSS lors de l'impression dans Webkit
Je suis en mesure d'insérer des sauts de page où j'ai besoin à l'aide:
page-break-after: always;
Cependant, je ne peux pas trouver un moyen d'éviter les sauts de page sont insérés au milieu des éléments. Par exemple, j'ai des tables html qui ne devraient pas être divisées au milieu sur plusieurs pages. J'ai eu l'impression que
page-break-inside: avoid;
empêcherait un saut de page d'être inséré à l'intérieur de l'élément, mais il ne semble pas faire quoi que ce soit. Mon code ressemble:
.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>
Malgré la page-break-inside: éviter la directive, je reçois toujours la scission de table entre la première et la deuxième ligne dans des pages séparées.
Des idées?
Clever! J'étais sur le point d'abandonner. Malheureusement, cela ne semble pas fonctionner si vous avez plus d'un td dans un tr, même si vous les faites tous appartenir à la classe. – Myforwik
@Myforwik - si la hauteur de ces TD est différente, la division semble être la division la plus courte (soit celle, soit la première div déclarée dans la ligne - n'a pas fini d'expérimenter). La solution qui a fonctionné pour moi est de - après le fait - sonder chaque div dans une rangée avec javascript et définir les hauteurs via jquery à la plus haute div. Cette approche fonctionne bien alors .11rc1 – herringtown
.dontsplit {page-break-inside: avoid; } ajouté à un DIV fonctionne dans Firefox v54.x – MarcoZen