Come rimuovere la sottolineatura per gli ancoraggi (collegamenti)?


313

Esiste comunque (nei CSS) per evitare la sottolineatura del testo e dei collegamenti introdotti nella pagina ..?


8
<penantico> Non puoi mai supporre come un browser renderà il tuo HTML. un tag esegue il rendering di un'ancora che il browser sceglie di visualizzare come sottolineato per impostazione predefinita. u è l'unico tag di sottolineatura. le risposte di seguito sono risposte CSS </pendantic>
Dead account

44
L'ironia del fatto che qualcuno sia abbastanza pedante per fare questo commento, ma non abbastanza pedante da pronunciare la parola correttamente (o addirittura in modo coerente!) Mi colpisce la mente.
Technetium,

Oltre alle risposte di seguito, è a:hovernecessario considerare anche la gestione , i browser più popolari tendono a mostrare una sottolineatura sugli ancoraggi al passaggio del mouse.
Fr0zenFyr

Risposte:


517

Usa CSS. questo rimuove le sottolineature da ae gli uelementi:

a, u {
    text-decoration: none;
}

A volte è necessario sovrascrivere altri stili per gli elementi, nel qual caso è possibile utilizzare il !importantmodificatore sulla propria regola:

a {
    text-decoration: none !important;
}

1
Se color: black !important;si aggiungesse body, questo imposterà anche tutti gli elementi, comprese le ancore, le ancore visitate, le ancore sospese in modo che siano sempre nere?
Ω meg

Ωmega Δ, a quanto pare no, e grazie a te sottolineando ho trovato un errore nella regola del corpo in generale. Ho aggiornato la mia risposta.
Emil Vikström,

Quello che ho scoperto è che se si imposta lo stile text-decoration: none !important;per l' bodyelemento, allora funziona per le ancore solo quando si imposta esplicitamente lo stile text-decoration: inherit;per gli aelementi.
Ω mega

7
In genere è meglio evitare !importante utilizzare la specificità e la cardinalità per sovrascrivere gli stili, altrimenti si può finire con un foglio di stile pieno !importantsenza alcuna comprensione della struttura che lo rende necessario. È un odore di codice IMO.
Mike Lyons,

!importantè come avere una bomba atomica. Ma una volta che inizi e sei sedotto a usare !importantaltri elementi, potresti ottenerlo (nuke) e il vantaggio è andato a favore di un vicolo cieco, che è grande per il mondo, poiché il MUD assicura la pace, ma nel mondo dei css, tale pace significa che non puoi dare qualcosa al vantaggio.
JasonGenX,

27

Il css è

text-decoration: none;

e

text-decoration: underline;

16

Ciò rimuoverà il colore e la sottolineatura con cui esiste il tag anchor

 a {
     text-decoration: none ;
  }
a:hover
  {
    color:white;
    text-decoration:none;
    cursor:pointer;
   }

11

L'opzione più semplice è questa:

<a style="text-decoration: none">No underline</a>

Naturalmente, mescolare CSS con HTML (cioè CSS inline) non è una buona idea, specialmente quando si utilizzano atag ovunque.
Ecco perché è una buona idea aggiungere questo a un foglio di stile:

a {
    text-decoration: none;
}

O anche questo codice in un file JS:

var els = document.getElementsByTagName('a');

for (var el = 0; el < els.length; el++) {
    els[el].style["text-decoration"] = "none";
}

Iphone / Android non sono buoni benchmark in quanto non rappresentano il rendering HTML all'indietro di Gmail o Outlook.
Stuart,

@XLogic: Grazie mille
Monika Patel,


6

La migliore opzione per te se vuoi solo rimuovere la sottolineatura solo dal collegamento di ancoraggio-

    #content a{
                text-decoration-line:none;
                }

Questo rimuoverà la sottolineatura.

Inoltre puoi usare una sintassi simile per manipolare anche altri stili usando-

                text-decoration: none;
                text-decoration-color: blue;
                text-decoration-skip: spaces;
                text-decoration-style: dotted;

Spero che questo ti aiuti!

PS: questa è la mia prima risposta in assoluto!


4

nel mio caso c'era una regola sull'effetto hover dell'ancora, in questo modo:

#content a:hover{
border-bottom: 1px solid #333;
}

Certo, text-decoration:none;non poteva essere d'aiuto in questa situazione. E passo molto tempo fino a quando non l'ho scoperto.

Quindi: un carattere di sottolineatura non deve essere confuso con un bordo inferiore.



2

Per fornire un'altra prospettiva al problema (come dedotto dal titolo / dai contenuti del post originale):

Se vuoi rintracciare ciò che sta creando sottolineature canaglia nel tuo HTML, usa uno strumento di debug. Ci sono molte tra cui scegliere:

Per Firefox c'è FireBug;

Per Opera c'è Dragonfly (chiamato "Strumenti per sviluppatori" nel menu Strumenti-> Avanzate; viene fornito con Opera per impostazione predefinita);

Per IE esiste la "Barra degli strumenti per sviluppatori di Internet Explorer", che è un download separato per IE7 e versioni precedenti, ed è integrato in IE8 (premere F12).

Non ho idea di Safari, Chrome e altri browser di minoranza, ma probabilmente dovresti avere almeno uno dei tre sopra sulla tua macchina.



1

Quando si desidera utilizzare un tag di ancoraggio semplicemente come collegamento senza lo stile aggiunto (come la sottolineatura al passaggio del mouse o di colore blu) aggiungere class="no-style"al tag di ancoraggio. Quindi, nel tuo foglio di stile globale, crea la classe "no-style".

.no-style { text-decoration: none !important; }

Questo ha due vantaggi.

  1. Non influirà su tutti i tag di ancoraggio, ma solo su quelli a cui è stata aggiunta la classe "no-style".
  2. Sostituirà qualsiasi altro stile che potrebbe altrimenti impedire di impostare la decorazione del testo su nessuno.

0

Non dimenticare di includere i fogli di stile utilizzando il tag link

http://www.w3schools.com/TAGS/tag_link.asp

Oppure racchiudi CSS all'interno di un tag di stile sulla tua pagina web.

<style>
  a { text-decoration:none; }
  p { text-decoration:underline; }
</style>

Non consiglierei di usare la sottolineatura su qualsiasi cosa a parte i collegamenti, la sottolineatura è generalmente accettata come qualcosa su cui è possibile fare clic. Se non è selezionabile, non sottolinearlo.

Le basi CSS possono essere acquisite su w3schools


0
<u>

è un tag obsoleto.

Uso...

<span class="underline">My text</span>

con un file CSS contenente ...

span.underline
{
    text-decoration: underline;
}  

o solo ...

<span style="text-decoration:underline">My Text</span>

0

Usa la proprietà css,

text-decoration:none;

Per rimuovere la sottolineatura dal link.


0

La sottolineatura può essere rimossa da una proprietà CSS chiamata decorazione del testo.

<style>
a{
text-decoration:none;
}
</style>

Se si desidera rimuovere la sottolineatura per il testo presente negli elementi diversi da a , è necessario utilizzare la sintassi seguente.

<style>
element-name{
text-decoration:none;
}
</style>

Esistono molti altri valori di decorazione del testo che possono aiutarti a progettare collegamenti.


-1

Sono stato turbato da questo problema nella stampa web e risolto. Risultato verificato.

a {
    text-decoration: none !important;
}

Funziona!.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.