2010-10-28 38 views
4

Je rencontre des difficultés pour imprimer une page d'information, qui devrait s'étendre sur environ 3 pages. Actuellement, une seule page est imprimée et le reste des données n'est visible nulle part? Y a-t-il du JS ou du HTML que je peux utiliser pour casser la page et permettre que l'information continue d'être imprimée sur les pages suivantes?Ma page ne s'imprime que sur une seule page (il n'y a pas de pause)

+1

Qui vote pour fermer cette page? Pourquoi? C'est une très bonne question. – Pointy

Répondre

4

Vous avez besoin d'une feuille de style d'impression, et il doit avoir la hauteur définie sur "auto" et le débordement sur "visible" pour le corps. Qu'est-ce que je fais est quelque chose comme:

@media print { 
    html, body { height: auto; overflow: visible; } 
} 

Il suffit de mettre cela dans votre fichier CSS principal ou dans un fichier de son propre chef.

+0

Oui, j'ai déjà ces propriétés définies dans une feuille de style d'impression: S –

+0

Eh bien, essayez d'ajouter "! Important" après "visible" et avant le point-virgule. – Pointy

1

Vous pouvez également forcer vos pauses

<style> 
.break { page-break-before: always; } 
</style> 
<body> 
content on page 1... 
<h1 class="break">text of Heading 1 on page 2</h1> 
content on page 2... 
<h1 class="break">text of Heading 1 on page 3</h1> 
content on page 3... 
<p class="break">content on top of page 4</p> 
content on page 4... 
</body> 
2

Il y a un très bon article sur A List Apart sur la préparation de votre site pour l'impression.

Il y a un bug connu avec les divs flottants qui se coupent, il vaudrait peut-être mieux que vous jetiez un coup d'oeil.

A List Apart/CSS Design: Going to Print (Voir la section: La fixation d'un flotteur ULF)

Hope this helps!