Come nascondere un elemento quando si stampa una pagina web?

Ho un link sulla mia pagina web per stampare la pagina web. Tuttavia, il link è visibile anche nella stampa stessa.

C'è un codice javascript o HTML che nasconderebbe il pulsante del link quando faccio clic sul link di stampa?

Esempio:

 "Good Evening"
 Print (click Here To Print)

Voglio nascondere questa etichetta "Print" quando stampa il testo "Good Evening". L'etichetta "Print" non dovrebbe apparire sulla stampa stessa.

Nel tuo foglio di stile aggiungi:

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

Poi aggiungi class='no-print' (o aggiungi la classe no-print a una dichiarazione di classe esistente) nel tuo HTML che non vuoi che appaia nella versione stampata, come il tuo pulsante.

Commentari (8)

La pratica migliore è di usare un foglio di stile specifico per la stampa, e impostare il suo attributo media su print.

In esso, mostra/nascondi gli elementi che vuoi che siano stampati su carta.

Commentari (2)

Potresti mettere il link all'interno di un div, poi usare JavaScript sul tag di ancoraggio per nascondere il div quando viene cliccato. Esempio (non testato, potrebbe aver bisogno di essere modificato, ma avete l'idea):

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

Il lato negativo è che una volta cliccato, il pulsante scompare e si perde quell'opzione sulla pagina (c'è sempre Ctrl+P però).

La soluzione migliore sarebbe quella di creare un foglio di stile di stampa e all'interno di quel foglio di stile specificare lo stato nascosto dell'ID printOption (o come lo chiami tu). Puoi farlo nella sezione head dell'HTML e specificare un secondo foglio di stile con un attributo media.

Commentari (0)