J'ai beaucoup de contenu sur ma page, mais je n'ai aucun contrôle sur l'endroit où il se termine. Je mets du contenu sur chaque page en utilisantposition:fixed
comme en-tête/pied de page, mais il chevauche le texte. J'ai essayé de résoudre le problème de chevauchement en utilisant les marges et le remplissage des deux manières suivantes.
Quand j'ajoute une marge en utilisant @page
@page { margin: 2cm; }
Comme il est dit, cela fonctionne sur chaque page, mais mon en-tête et mon pied de page disparaissent également des marges.
J'ai donc essayé d'ajouter une marge en utilisant la balise body
body { margin: 2cm; /* padding: 2cm; */ }
Cela fonctionne en ajoutant une marge supérieure de 2 cm sur la première page et une marge inférieure de 2 cm sur la dernière page. Mais pas entre les pages.
Est-il possible de définir une marge/un remplissage pour chaque page ?
J'ai eu exactement le même problème et après de nombreuses recherches, j'ai trouvé un article intéressant qui propose une solution combinée, que vous pouvez lireici.
En bref, il combine deux méthodes :
Utilisation de la
位置:固定
TechnologieUtilisation
thead tbody tfoot
Si vous utilisez uniquement la première méthode, vous serez confronté à des problèmes de chevauchement. De même, si vous utilisez uniquement la deuxième méthode, le pied de page sera bloqué au bas du contenu de la page et pourra se retrouver au début de la dernière page, mais en combinaison. deux méthodes peuvent résoudre le problème.
Ici, vous pouvez voir unedémofonctionnelle.
Pour vous assurer que cette solution fonctionne correctement, essayez d'appuyer sur le bouton
Print Me!
pour imprimer.Vous devrez peut-être même ajouter unnuméro de pagedans le pied de page, cela se fait également par CSS, il vous suffit d'ajouter le CSS suivant :
Dans certainsarticles, c'était
内容: counter(page) " of " counter(pages);
,但是在我的例子中,pages
continuez à renvoyer 0 sans raison, donc je l'ai ignoré, vous pouvez peut-être implémenter le nombre pour calculer le nombre total de pages en utilisant CSS var().Pour mémoire, si vous ne souhaitez pas regarder l'en-tête et le pied de page avant l'impression, vous pouvez ajouter le CSS suivant :
Mise à jour 2020 :
Les numéros de page ne semblent plus fonctionner.