J'utilise window.print () pour imprimer la page, mais j'ai un en-tête et un pied de page contenant le titre de la page, le chemin du fichier, le numéro de page et la date. Comment les supprimer?
J'ai également essayé une feuille de style d'impression.
#header, #nav, .noprint
{
display: none;
}
Veuillez aider. Merci.
Réponses:
Dans Chrome, il est possible de masquer cet en-tête / pied de page automatique en utilisant
Étant donné que le contenu s'étendra aux limites de la page, l'en-tête / pied de page d'impression de la page sera absent. Vous devriez, bien sûr, dans ce cas, définir des marges / rembourrages dans votre élément body afin que le contenu ne s'étende pas jusqu'au bord de la page. Étant donné que les imprimantes courantes ne peuvent tout simplement pas obtenir une impression sans marges et que ce n'est probablement pas ce que vous voulez, vous devriez utiliser quelque chose comme ceci:
Comme Martin l'a souligné dans un commentaire, si la page a un long élément qui défile au-delà d'une page (comme un grand tableau), la marge est ignorée et la version imprimée aura l'air bizarre.
À l'époque d'origine de cette réponse (mai 2013), cela ne fonctionnait que sur Chrome, je n'en suis pas sûr maintenant, je n'ai jamais eu besoin de réessayer. Si vous avez besoin de support pour un navigateur qui ne peut pas gérer, vous pouvez créer un PDF à la volée et l'imprimer (vous pouvez créer un PDF auto-imprimable incorporant du JavaScript dessus), mais c'est un énorme problème.
la source
body { margin: 1.6cm; }
j'ignorais la bonne marge pour moi (peut-être parce que j'utilisaistext-align:right
), alors j'ai plutôt créé un<div class="container">
pour mon contenu et utilisé à la.container { margin: 1.6cm; }
place.body { margin: 1.6cm; }
- comme il s'agit d'une marge pour l'ensemble du document - ne respectera pas les marges verticales des documents de plusieurs pages, sauf le tout premier et le dernier. Malheureusement, je ne peux pas penser à une solution de contournement.Je suis sûr que l'ajout de ce code sur votre fichier css résoudra le problème
Vous pouvez visiter ce site pour en savoir plus
la source
Firefox:
moznomarginboxes
attribut dans<html>
Exemple :
la source
Aujourd'hui, mon collègue est tombé sur le même problème.
Cependant, comme la solution «margin: 0» fonctionne pour les navigateurs à base de chrome, Internet Explorer continue à imprimer le pied de page même si les marges @page sont définies sur zéro.
La solution (plutôt un hack) était de mettre une marge négative sur la @page.
Veuillez noter que la marge négative ne fonctionnera pas pour l'axe Y, uniquement pour X
J'espère que ça aide.
la source
La norme CSS permet un formatage avancé. Il existe une directive @page dans CSS qui permet une mise en forme qui s'applique uniquement aux supports paginés (comme le papier). Voir http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html .
et pour Firefox, utilisez-le
Dans Firefox, https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383 (voir la page source :: tag HTML).
Dans votre code, remplacez
<html>
par<html moznomarginboxes mozdisallowselectionprint>.
la source
la source
Ce sera la solution la plus simple. J'ai essayé la plupart des solutions sur Internet, mais seul cela m'a aidé.
la source
@page { margin: 0; }
fonctionne très bien dans Chrome et Firefox. Je n'ai pas trouvé de moyen de réparer IE via CSS. Mais vous pouvez accéder à la mise en page dans IE sur votre propre ordinateur et définir les marges à 0. Appuyez sur alt, puis sur le menu fichier dans le coin supérieur gauche et vous trouverez la mise en page. Cela ne fonctionne que pour une seule machine à la fois ...la source
1. Pour Chrome et IE
Ajoutez l'attribut moznomarginboxes dans l'exemple:
la source
J'essayais de supprimer l'en-tête et le pied de page d'une page html que j'ai imprimée manuellement.
Aucune solution sur cette page n'a fonctionné pour moi mais simplement en définissant mon propre pied de page comme expliqué ici Firefox n'ajouterait pas son propre en-tête et pied de page.
Cela ne fonctionne malheureusement pas sur Chrome.
En CSS:
Ajoutez ceci à votre HTML:
la source
Si vous faites défiler jusqu'à ce point, j'ai trouvé une solution pour Firefox. Il imprimera le contenu d'un div spécifique sans les pieds de page et les en-têtes. Vous pouvez personnaliser comme vous le souhaitez.
Tout d'abord, téléchargez et installez cet addon: JSPrintSetup .
Deuxièmement, écrivez cette fonction:
Troisièmement, dans votre code, là où vous voulez écrire le code d'impression, procédez comme suit (j'ai utilisé JQuery. Vous pouvez utiliser du javascript brut):
De toute évidence, vous avez besoin du lien pour cliquer:
Et votre div à imprimer:
la source
vous n'avez pas à écrire de code. juste avant d'appeler window.print () pour la première fois, modifiez les paramètres d'impression de votre navigateur. par exemple dans firefox:
et un autre exemple pour IE (j'utilise IE 11 pour les versions précédentes, vous pouvez voir ceci Empêcher Firefox ou Internet Explorer d'imprimer l'URL sur chaque page ):
la source