Je travaille sur css print friendly pour un site web. Il prévisualise/imprime parfaitement dans IE, mais Firefox (version 3.6) ne prévisualise/imprime que la 1ère page.
Est-ce que quelqu'un est au courant de quoi que ce soit qui pourrait généralement causer cela? Le balisage est assez compliqué, donc je ne sais pas par où commencer!
Merci.
Modifier
Cette solution n'a fait qu'empirer les choses.
https://support.mozilla.com/ga-IE/questions/667285#answer-115916
On dirait que l'impression aspire juste en FF. Le client n'aimera pas entendre cela - j'espère qu'il n'utilise pas de FF!
Le bogue depuis longtemps avec l'impression d'éléments positionnés de manière absolue a été corrigé dans Firefox 3.
Les problèmes relatifs aux pages manquantes sont suivis dans bug 521204 (recherchez dans la liste "dépend de"). Avez-vous des cadres ou de longs tableaux sur la page que vous essayez d’imprimer?
Et oui, l'impression dans Firefox est sous-exploitée, désolée, vous devez vous en occuper ...
Je viens de découvrir, que d'un élément avec
display:inline-block;
seule la première page est imprimée et tout le reste est masqué. mettre ceci à
display:block;
était la solution dans mon cas.
Si vous ne voulez pas passer en revue tout votre code, voici la seule chose que j'ai trouvée qui fonctionne pour moi sans gâcher tous mes autres CSS:
@media print {
body {
overflow: visible !important;
}
}
J'avais le même problème. Il s'avère que la balise racine avait display: flex
dessus. Après avoir changé ceci en display: block
, le reste du contenu était affiché. Je vous recommande de consulter votre arborescence DOM et de vérifier chaque attribut display
.
J'ai essayé une douzaine de correctifs pour cela et, finalement, tout ce dont j'avais besoin était:
@media print {
body {
display: block;
}
}
J'ai eu le même problème parce que la height
de body
est définie sur 100%
, après que j'ai modifié pour height: auto
dans mon print.css
, cela a fonctionné.
@media print {
body {
height: auto;
}
}
Après de nombreuses recherches et essais, j'ai trouvé cet article de A list apart. J'étais sceptique parce que c'est si vieux mais ça dit que:
Si un élément flottant dépasse le bas d'une page imprimée, le reste du flottant disparaîtra dans la mesure où il ne sera pas imprimé sur la page suivante.
Comme j'ai un gros conteneur flottant, j'ai pensé essayer. J'ai donc fait un mélange d’autres réponses et de cet article et je suis arrivé à ceci:
body {
overflow: visible !important;
overflow-x: visible !important;
overflow-y: visible !important;
}
/*this is because I use angular and have this particular layout*/
body > .fade-ng-cloak {
height: 100%;
display: block;
flex: none;
float: none;
}
.l-content,
.l-sidebar {
float: none;
}
Donc en gros:
overflow: visible
display: block
, éliminez tous les styles flex
et réinitialisez la hauteur si nécessaire.float
sur les longs conteneursCe mélange a fonctionné pour moi! Je suis tellement heureuse que je pensais partager :)
pour moi (bootstrap 4) la solution était
@media print {
.row {
display: block;
}
}
ce qui suit fonctionne pour moi.
@media print {
.field--body table tr {
display: table-row-group !important;
}
}
Si vous ne parvenez pas à surmonter les limites de Firefox en matière d’impression, vous pouvez convertir la page en PDF. Si vous êtes prêt pour cette option, Prince XML est une bibliothèque que je vous recommande vivement. Il a un très bon support CSS, y compris les médias imprimés.
J'ai essayé d'ajouter @media print
comme suggéré dans cette réponse sous la forme d'une définition style
à l'élément <body>
de la page, mais Firefox (60.0 (64 bits), Windows 7 64/Pro) reste tronqué. .
Ensuite, j'ai remarqué une case à cocher intitulée Simplifier la page en haut de l'écran Aperçu avant impression de Firefox:
Lorsque j'ai coché cette case, Firefox a retiré une partie du style, mais l'écran Aperçu avant impression s'est actualisé pour inclure toutes les pages du site!
Je ne sais pas à quel point cela s'applique si largement, mais ça vaut le coup d'essayer! Jusqu'à présent, je n'ai pas trouvé de solution comparable pour Chrome (version 65.0.3325.162 (version officielle) (64 bits)).
PS: après expérience, je constate que Simplifier la page supprime non seulement le style, mais également des éléments entiers tels que des exemples de section de code. Veillez donc à lire attentivement les résultats avant l'impression.
J'ai eu le même problème et j'ai remplacé position de position:relative
à position: absolute
par height: 100%
du div haut en bas.
Firefox n'aspire absolument pas. Cependant, parfois, il adhère plus strictement aux normes que les autres navigateurs. Quoi qu’il en soit, j’ai eu le même problème, c’est-à-dire que firefox n’imprimait (ne prévisualisait également) que les 2 premières pages d’un rapport multipage, construit avec un long tableau, produit par une de mes pages Web. Après un certain débogage, j'ai découvert que j'avais inclus la plupart du contenu du rapport dans un élément span avec un style {display: inline-block;}, entre autres. Dès que j'ai enlevé que la pagination était parfaite ...