2012-08-14 4 views
33

リンクのスタイルを設定するためのCSSサンプルが多数あります。CSSのリンクカラースタイルのベストプラクティス

html5boilerplate.comは、リンクのために、このようなCSSコードを提供しています:

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

は、それはほとんどの場合には十分ですか?

リンクのスタイルを設定するためのCSSコードがありますか?

+3

ラブ嫌い(http://meyerweb.com/eric/css/link-specificity.html)勧告に使用されます。 – j08691

答えて

44

をクリックしたとき。

ジャストリンクのスタイルの正しい順序があることに注意してください:

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

outlineはあなたのために、「醜い」に見えるかもしれませんが、それは非常に重要なアクセシビリティ機能です。それを削除する場合は、現在の要素(大/太いフォント、高コントラストの背景など)を適切に区別する別の方法を提供してください。

+2

'a'と' a:link'セレクタの違いを見るhttp://stackoverflow.com/questions/2638229/css-alink-vs-just-a-without-the-link-part –

4

スタイリングリンク(リンクではないアンカーではない)を確実に使用するには、aの代わりにa:linkを使用する必要があります。

最後にa:activeを追加できます。ここにはtutorialがあります。

-2

いつも追加するのが良いと分かります。

{outline:none; }

一部のブラウザでは、リンクに迷惑なアウトラインを追加しますので、あなたは彼らに大多数のケースで十分でしょう間違いだ

+4

*ただ*しないでください。 oulineはアクセシビリティ上の理由からここにあります。取り外した場合は、別のものと交換してください。 http://www.outlinenone.com/ – SandRock

+0

私の目を開けてくれてありがとう。私はいつも設計上の理由からそれをやりました。 –

5

ブラウザごとに異なる設定を常にリセットします。

私はまた、外部のウェブサイトへのリンクに、イメージ(ウィキペディアのものに類似したもの)を追加することによって異なるタグを付けるのが好きです。

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

デフォルトの下線を削除するとカラーブラインドの人や、モノクロームディスプレイ(E Inkデバイスなど)を使用している場合、テキストの残りの部分とリンクを区別することは不可能です。 – tomasz86

+0

@ tomasz86:良い点があります。しかし、私はリンクに下線を引くウェブサイトを知らない。たぶんそれは、(多くのリンクを持つ)テキストを読みにくくするためです。私がアクセシビリティにもっと関心を持っていたとき、私はカラーで問題を抱えている人々がウェブサイトに独自のスタイルシートを適用することを読んだ。それで、なぜ私はほとんどの人にウェブサイトをアクセス可能にすることにしたのですか?下線付きのリンクが必要な人は、とにかく自分のスタイルを適用します(たぶん)。あなたの経験は何ですか? –

+0

英国政府のウェブサイト(https://gov.uk)には下線が引かれています。カスタムスタイルシートを使用する場合は、プライベートデスクトップ/ラップトップコンピュータを使用している場合にのみ、役立つかもしれないと思います。モバイルデバイスや公共のコンピュータなどに依存する必要がある場合は、デフォルトスタイルのWebサイトを表示する必要があります。ちなみに、上のコードで 'a:hover {text-decoration:underline;} 'に' a:focus'を追加すると、キーボードユーザにとって便利です。 – tomasz86

2

アウトラインを削除しないでください。少なくともアウトラインを削除することは絶対に避けてください。すべてのアンカーに対してこれを行うと、キーボードのナビゲーションに使用される:focusに対しても削除されます。また、ホバーがタッチスクリーン上に存在しないので、ホバーにあまりにも多く依存することは非常に悪い。

私はすべてのリンクを他のコンテンツと簡単に区別できるようにしたいと思います。

2016バージョン

/* 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バージョン

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; } 


2014バージョン

:これは私の個人的な好みです
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バージョンは

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); } 


関連する問題