« タイ帰りの友人とチャイヤイ | メイン | 標準Webデザイン講座 DREAMWEAVER 8 »

[メモ]疑似クラスの指定順

[CSSのTips忘れないうちにメモ]
4種類ある疑似クラス。「link」と「visited」はどちらかの状態しか発生しないが、「hover」と「hover」は補完的な状態にある。そして、「link」「hover」「hover」が同一条件となる場合があるはず。
とすると、起こりえる状態が重なったときに、疑似クラス同士の優先順位は指定できないので、記述した順番にスタイルが適用されることになる。
つまり、疑似クラスには指定する順番が論理的にあってしかるべきかもしれない。

たとえば、a:hoverがa:linkやa:visitedより先に指定されていると、a:hoverで設定したスタイルは次に記述したスタイルで更新され、リンクにカーソルが重なったときに意図した通りに表示されなくなる。
同様に、a:visitedのあとにa:hoverで指定したスタイルは後で記述したスタイルで上書きされ、リンク部分のスタイルが意図しないものになる。

疑似クラスはa:link、a:visited、a:hover、a:active、の順に記述するようにしよう。

トラックバック

このエントリーのトラックバックURL:
http://www.nishiz.com/mt/mt-tb.cgi/85

コメント

ここの説明、詳しいですね。

実は重要!スタイルシートの記述順! a:hover使ってもリンク無変化!?
http://allabout.co.jp/internet/hpcreate/closeup/CU20050621A/index3.htm

疑似クラスの順番の覚え方ですが、
『Designing Web Standerds』の著者である Jeffrey Zeldman は、

「LoVe-HA!(LoVe ? はあ、あっそ)」

(L=a:link、V=a:visited、H=a:hover、A=a:active)
って書いてます。

コメントを投稿