擬似クラス

テキストリンク

  • テキストリンクの色は、一目でわかるように「青色」で表示するようブラウザの初期値のCSSが決めています
  • リンクの装飾にはユーザーへの配慮が不可欠(そこがクリックできるということを明示する)
  • リンク色は、デザインや配色などの統一感を考慮して設定する
リンクの色(擬似クラス:Pseudo-classes)
  • 要素の性質スタイルを適用させたい場合に使います
  • 主に「a要素」のリンク時のカーソルの表示状態を設定します


疑似クラスには次の6種類があります。

lang 指定された言語のスタイル
link 通常リンク(未アクセス)のスタイル
visited アクセス済みリンクのスタイル
hover ポイント時のスタイル
focus フォーカス時のスタイル
active アクティブ時のスタイル
※focus と lang の指定は、IE6まででは対応していません。
 まず「リンク時の設定」を理解しましょう。



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