2011-09-04 11 views
240

Sto tentando di personalizzare il CSS di stampa e di trovare che stampa i collegamenti con il valore href e il collegamento.È necessario rimuovere i valori href quando si stampa in Chrome

Questo è in Chrome.

Per questo HTML:

<a href="http://www.google.com">Google</a> 

Esso stampa:

Google (http://www.google.com) 

E lo voglio stampare:

Google 
+0

Ricorda PERCHÉ ogni principale framework CSS lo fa: non puoi fare clic su carta! Quindi, se hai intenzione di disattivarlo dovresti aggiungere un elenco di link in fondo, come questo: https://alistapart.com/article/improvingprint – Julix

risposta

39

It doesn't. Da qualche parte nel foglio di stile di stampa, è necessario disporre di questa sezione di codice:

a[href]::after { 
    content: " (" attr(href) ")" 
} 

L'unica altra possibilità è di avere un'estensione di farlo per voi.

+1

L'ho preso in zurb foundation css. – forX

5

Ho avuto lo stesso problema, ma perché ho usato HTML5 Boilerplate e ha la regola che Eric ha pubblicato nella query media style.css per la stampa. Basta rimuoverlo da lì.

511

Bootstrap fa la stessa cosa (... come la risposta selezionata sotto).

@media print { 
    a[href]:after { 
    content: " (" attr(href) ")"; 
    } 
} 

Basta togliere da lì, o sostituirla in proprio foglio di stile di stampa:

@media print { 
    a[href]:after { 
    content: none !important; 
    } 
} 
+3

Così fa Foundation. – fny

+11

'' Pubblicando principalmente per me stesso quando torno in questa pagina, grazie –

+9

Non bello, bootstrap! :) – pettys

8

Se si utilizza la seguente CSS

<link href="~/Content/common/bootstrap.css" rel="stylesheet" type="text/css" /> 
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" type="text/css" /> 
<link href="~/Content/common/site.css" rel="stylesheet" type="text/css" /> 

basta cambiare nel seguente stile da aggiunta media = "schermo"

<link href="~/Content/common/bootstrap.css" rel="stylesheet" **media="screen"** type="text/css" /> 
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" **media="screen"** type="text/css" /> 
<link href="~/Content/common/site.css" rel="stylesheet" **media="screen"** type="text/css" /> 

Penso che funzionerà.

ex risposte come

@media print { 
    a[href]:after { 
    content: none !important; 
    } 
} 

non erano lavorato bene nel browse cromato.

+0

Assicurati di svuotare la cache per interrompere la statura CSS – kurdtpage

+0

Questa dovrebbe essere la risposta accettata. –

3

ho incontrato un problema simile solo con un IMG nidificato nella mia ancora:

<a href="some/link"> 
    <img src="some/src"> 
</a> 

Quando ho fatto domanda

@media print { 
    a[href]:after { 
     content: none !important; 
    } 
} 

ho perso la mia img e l'intera larghezza di ancoraggio per qualche ragione, così invece Ho usato:

@media print { 
    a[href]:after { 
     visibility: hidden; 
    } 
} 

che ha funzionato perfettamente.

Bonus punta: inspect print preview

0

per gli utenti normali. Apri la finestra di ispezione della pagina corrente. e digitare:

l = document.getElementsByTagName("a"); 
for (var i =0; i<l.length; i++) { 
    l[i].href = ""; 
} 

Allora non devono vedere i collegamenti URL in anteprima di stampa.

0

@media print { 
 
    a[href]:after { 
 
     display: none; 
 
     visibility: hidden; 
 
    } 
 
}

del perfetto lavoro.

Problemi correlati