Comment masquer un élément lors de l'impression d'une page web ?

J'ai un lien sur ma page web pour imprimer la page web. Cependant, le lien est également visible dans l'impression elle-même.

Existe-t-il un code javascript ou HTML qui permettrait de masquer le bouton de lien lorsque je clique sur le lien d'impression ?

Exemple :

 "Good Evening"
 Print (click Here To Print)

Je veux masquer cette étiquette "Imprimer" lorsqu'elle imprime le texte "Bonsoir". L'étiquette "Imprimer" ne doit pas apparaître sur l'impression elle-même.

Dans votre feuille de style, ajoutez :

@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
}

Ajoutez ensuite class='no-print' (ou ajoutez la classe no-print à une déclaration de classe existante) dans votre HTML que vous ne voulez pas voir apparaître dans la version imprimée, comme votre bouton.

Commentaires (8)

La meilleure pratique consiste à utiliser une feuille de style spécifique à l'impression, et à définir son attribut media sur print.

Dans celle-ci, affichez/masquez les éléments que vous souhaitez voir imprimés sur papier.

Commentaires (2)

Vous pourriez placer le lien à l'intérieur d'un div, puis utiliser JavaScript sur la balise d'ancrage pour masquer le div lorsqu'on clique dessus. Exemple (non testé, peut nécessiter des modifications, mais vous avez compris l'idée) :

<div id="printOption">
    <a href="javascript:void();" 
       onclick="document.getElementById('printOption').style.visibility = 'hidden'; 
       document.print(); 
       return true;">
       Print
    </a>
</div>

L'inconvénient est qu'une fois cliqué, le bouton disparaît et le visiteur perd cette option sur la page (il y a toujours Ctrl+P cependant).

La meilleure solution serait de créer une feuille de style d'impression et de spécifier dans cette feuille de style le statut caché de l'ID printOption (ou quel que soit le nom que vous lui donnez). Vous pouvez le faire dans la section head du HTML et spécifier une deuxième feuille de style avec un attribut media.

Commentaires (0)