2012-08-14 8 views
33

Esistono molti esempi di CSS per lo styling del colore dei collegamenti.stili di colore collegamento css best practice

html5boilerplate.com offre tale codice CSS per il link:

a { color: #00e; } 
a:visited { color: #551a8b; } 
a:hover { color: #06e; }​ 

E 'abbastanza buono per la maggior parte dei casi?

O forse esiste un codice css migliore per lo styling del colore dei collegamenti?

+3

Love Hate (http://meyerweb.com/eric/css/link-specificity.html) usato per essere la raccomandazione. – j08691

risposta

44

Questo è sicuramente sarà sufficiente in stragrande maggioranza dei casi.

Basta tenere a mente che il corretto ordine di stili per i collegamenti è:

a:link { color: #c00 } /* unvisited links */ 
a:visited { color: #0c0 } /* visited links */ 
a:hover { color: #00c } /* user hovers  */ 
a:active { color: #ccc } /* active links */ 

Il outline potrebbe apparire "brutto" per voi, ma questa è una caratteristica di accessibilità molto importante. Se lo rimuovi, ti preghiamo di fornire un modo alternativo per distinguere correttamente l'elemento corrente (carattere più grande/più intenso, sfondo ad alto contrasto, ecc.)

+2

vedere la differenza tra i selettori 'a' e' a: link' http://stackoverflow.com/questions/2638229/css-alink-vs-just-a-without-the-link-part –

4

Se si desidera essere sicuri di utilizzare i collegamenti di stile (e non gli ancoraggi che non sono collegamenti), è necessario utilizzare a:link anziché a.

E si potrebbe aggiungere a:active alla fine. Qui hai un tutorial.

-2

ho trovato la sua sempre bene aggiungere

un {outline: none; }

poiché alcuni browser aggiungono contorni fastidiosi ai collegamenti quando si fa clic

+4

Si prega di non * solo * farlo. L'ouline è qui per motivi di accessibilità. Se lo rimuovi, sostituiscilo con qualcos'altro. Vedi http://www.outlinenone.com/ – SandRock

+0

Grazie per avermi aperto gli occhi. L'ho sempre fatto per ragioni di design. –

5

Ripristino sempre le impostazioni che potrebbero essere diverse tra i browser.

Mi piace anche contrassegnare i collegamenti a siti Web esterni in modo diverso, aggiungendo un'immagine (simile a quella di wikipedia).

a, 
a:link, 
a:active, 
a:visited, 
a:hover { 
    color:   #d30; 
    text-decoration: none; 
} 

a:hover { 
    text-decoration: underline; 
} 

/* Links to external websites */ 
a.external:before { 
    content:   url(./pics/external.png); 
} 
+1

Se si rimuove la sottolineatura predefinita potrebbe essere impossibile distinguere i collegamenti dal resto del testo da quelli che sono daltonici o quando si utilizza un display monocromatico (come un dispositivo E Ink). – tomasz86

+0

@ tomasz86: buon punto. Ma: non conosco un sito web che sottolinea i collegamenti. Probabilmente perché rende i testi (con molti link) difficili da leggere. Quando ero più interessato all'accessibilità, ho letto che le persone che hanno problemi con i colori applicano i loro fogli di stile ai siti web. Ecco perché ho deciso di rendere i siti web accessibili alla maggior parte delle persone. Coloro che hanno bisogno dei collegamenti sottolineati (probabilmente) applicheranno comunque i propri stili. Qual è la tua esperienza? –

+0

Il sito web del governo del Regno Unito (https://gov.uk) ha collegamenti sottolineati. Per quanto riguarda l'uso di fogli di stile personalizzati, penso che possa essere utile ma solo se si utilizza il proprio desktop/laptop privato. Se hai bisogno di affidarti a dispositivi mobili o computer pubblici, ecc., Molto probabilmente sei costretto a visualizzare quei siti Web con i loro stili predefiniti. A proposito, aggiungere 'a: focus' a' a: hover {text-decoration: underline;} 'nel codice sopra sarebbe utile per gli utenti della tastiera. – tomasz86

2

Non rimuovere mai il contorno, o almeno rimuoverlo solo per a: attivo. Se lo fai per tutti gli ancoraggi, verrà rimosso anche per: focus che viene utilizzato per la navigazione da tastiera. Anche affidarsi troppo al passaggio del mouse è molto brutto, poiché il passaggio del mouse non è presente sui touch screen.

Mi piace avere tutti i collegamenti facilmente distinguibili dal resto del contenuto.Questa è la mia preferenza personale:

2016 versione

/* The order is important! Do not use fixed values like px! Always check contrast between text and background for accessibility! */ 

a { border-bottom: thin solid; 
    color: rgb(0,0,192); 
    font-weight: bolder; 
    text-decoration: none; 
} 
a:visited { color: rgb(160,0,160); } 
a:active { color: rgb(192,0,0); } 
a:active, a:focus, a:hover { border-bottom-width: medium; } 


2015 Versione

a { border-bottom: thin solid; 
    color: rgb(0,0,192); 
    font-weight: 700; 
    text-decoration: none; 
} 
a:visited { color: rgb(128,0,128); } 
a:active { color: rgb(192,0,0); } /* :active MUST come after :visited */ 
a:active, a:focus, a:hover { border-bottom-width: medium; } 


a { border-bottom: 1px solid; 
    color: rgb(0,0,166); 
    font-weight: 700; 
    text-decoration: none; 
} 
a:visited { color: rgb(122,0,122); } 
a:active { color: rgb(166,0,0); } /* :active MUST come after :visited */ 
a:active, a:focus, a:hover { border-bottom: 3px solid; } 


2013 versione

a { color: rgb(0,0,166); 
    font-weight: 700; 
    border-bottom: 1px dotted; 
    text-decoration: none; 
} 
a:visited { color: rgb(122,0,122); } 
a:hover, a:focus, a:active { border-bottom: 2px solid; } 
a:focus, a:active { color: rgb(166,0,0); }