擬似クラス
テキストリンク
- テキストリンクの色は、一目でわかるように「青色」で表示するようブラウザの初期値のCSSが決めています
- リンクの装飾にはユーザーへの配慮が不可欠(そこがクリックできるということを明示する)
- リンク色は、デザインや配色などの統一感を考慮して設定する
リンクの色(擬似クラス:Pseudo-classes)
- 要素の性質スタイルを適用させたい場合に使います
- 主に「a要素」のリンク時のカーソルの表示状態を設定します
疑似クラスには次の6種類があります。
lang | 指定された言語のスタイル |
---|---|
link | 通常リンク(未アクセス)のスタイル |
visited | アクセス済みリンクのスタイル |
hover | ポイント時のスタイル |
focus | フォーカス時のスタイル |
active | アクティブ時のスタイル |
まず「リンク時の設定」を理解しましょう。
「link(未訪問)」
「visited(訪問済み)」
「hover(カーソルがリンクに重なったとき)」
「active(リンクに対してアクティブな瞬間)」
- リンクに疑似クラスを使用する際には「link → visited → hover → active」といった順序で記述する必要があります。
の4つの疑似クラスの前には「:」コロンをつけます。
a:link { color: #0000FE; } a:visited { color: #880088; } a:hover { color: #FF6600; } a:active { color: #FF0000; }
子孫セレクタによりリストに適用
li a:link { color : #0000FF ; text-decoration : none ; } li a:visited { color : #336699 ; text-decoration : none ; } li a:hover { color : #FF0000 ; text-decoration : underline ; } li a:active { color : #FF6600 ; text-decoration : underline ; }
擬似クラス演習
<body> <ul class="menu"> <li><a href="#">メニューのリンク1</a></li> <li><a href="#">メニューのリンク2</a></li> <li><a href="#">メニューのリンク3</a></li> <li><a href="#">メニューのリンク4</a></li> <li><a href="#">メニューのリンク5</a></li> </ul> </body>
《style.css》
ul.menu { font-size: 20px; } ul.menu li { line-height: 1.5; } ul.menu li a:link { color: #000000; text-decoration: none; } ul.menu li a:hover { color: #FF8800; text-decoration: underline; }
ul.menu { width: 200px; font-size: 16px; margin: 50px 0 0 50px; padding: 0; list-style: none; border-top: solid 1px #AAAAAA; } ul.menu li { border-bottom: solid 1px #AAAAAA; margin: 0; padding: 10px 0 9px 1em; line-height: 1.0; background-color: #F3F3F3; } ul.menu a:link { color: #000000; text-decoration: none; } ul.menu a:hover { color: #FF8800; }
リンクの文字色(擬似クラス)
<body> <ul> <li><a href="#">LINK-link-coral</a></li> <li><a href="#">LINK-visited-turquoise</a></li> <li><a href="#">LINK-hover-skyblue</a></li> <li><a href="#">LINK-active-lawngreen</a></li> </ul> </body>
ul { list-style: none; } li a { font-size: 1.6em; font-weight: bold; } li a:link { color: coral; } li a:visited { color: turquoise; } li a:hover { color: skyblue; } li a:active { color: lawngreen; }
リンクの背景色(擬似クラス)
<body> <ul> <li><a href="#">LINK-link-coral</a></li> <li><a href="#">LINK-visited-turquoise</a></li> <li><a href="#">LINK-hover-skyblue</a></li> <li><a href="#">LINK-active-lawngreen</a></li> </ul> </body>
ul { list-style: none; } li a { display: block; color: white; font-size: 1.5em; font-weight: bold; width: 300px; padding: 2px 10px; margin: 2px 0; text-decoration: none; } li a:link { background-color: coral; } li a:visited { background-color: turquoise; } li a:hover { background-color: skyblue; } li a:active { background-color: lawngreen; }