Je crée un rapport HTML qui va être imprimable et qui contient des "sections" qui devraient commencer dans une nouvelle page.
Existe-t-il un moyen d'ajouter quelque chose dans le code HTML/CSS qui indique au navigateur qu'il doit forcer un saut de page (créer une nouvelle page) à ce stade?
Je n'ai pas besoin que cela fonctionne dans tous les navigateurs, je pense que je peux dire aux gens d'utiliser un ensemble spécifique de navigateurs pour pouvoir les imprimer.
Ajoutez une classe CSS appelée "pagebreak" (ou "pb"), comme ceci:
@media print {
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
}
Ajoutez ensuite une balise DIV vide ( ou tout élément de bloc générant une zone ) à l'endroit où vous souhaitez insérer le saut de page.
<div class="pagebreak"> </div>
Il n'apparaîtra pas sur la page, mais le cassera lors de l'impression.
P.S. Ceci s’applique peut-être uniquement lorsqu’on utilise -after
(et aussi ce que vous pourriez faire d’autres <div>
s sur la page), mais j’ai trouvé que je devais augmenter la classe CSS comme suit:
@media print {
.pagebreak {
clear: both;
page-break-after: always;
}
}
Essayez ceci lien
<style>
@media print
{
h1 {page-break-before:always}
}
</style>
Vous pouvez utiliser la propriété CSS page-break-before
(ou page-break-after
). Il suffit de définir page-break-before: always
sur les éléments de niveau bloc (par exemple, en-tête, les éléments div
, p
ou table
qui devraient commencer sur une nouvelle ligne.
Par exemple, pour provoquer un saut de ligne avant tout en-tête de 2e niveau et avant tout élément de la classe newpage
(par exemple, <div class=newpage>
...), vous utiliseriez
h2, .newpage { page-break-before: always }
Je voulais juste mettre à jour. page-break-after
est maintenant une propriété héritée.
Officiel page états
Cette propriété a été remplacée par la propriété break-after .