ウェブ学のすすめ

Study of Web Design & Programing

実践課題【CSS15】擬似リンク(4)

課題

【CSS15】

  • 以下の画像と同じように表示させるCSSを記述しなさい
  • 擬似クラスで指定
  • 現在位置とマウスーオバーの挙動と区別する
  • 上・左からの位置は適宜設定

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>擬似リンク(4)</title>
</head>
<body>
<div class="nav">
<ul>
<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>
</div>
</body>
</html>

引用元:CSS12〜17擬似クラス - Webデザインの勉強|忘筌

解答

擬似クラス(4) - jsdo.it - share JavaScript, HTML5 and CSS

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>擬似リンク(4)</title>
<style type="text/css">
* {
 margin: 0;
 padding: 0;
}
body {
    font-family:
	"Hiragino Kaku Gothic Pro",
	"ヒラギノ角ゴ Pro W3",
	Meiryo, 
	"メイリオ", 
	Osaka, 
	"MS P Gothic", 
	"MS Pゴシック", 
	sans-serif;
}
.nav {
    font-weight: bold;
    width: 250px;
    height: auto;
    margin: 50px 0 0 50px;
}
.nav ul {
    list-style-type: none;
    border-top: 1px solid #aaa;
    border-right: 1px solid #aaa;
    border-left: 1px solid #aaa;
}
.nav li { 
    border-bottom: 1px solid #aaa;  
    width: auto;
    height: auto;
}
.nav li a {
    color: #000;
    display: block;
    padding: 10px;
    text-decoration: none;
}
.nav li a:link {
    border-left: 10px solid #d5eaef;
}
.nav li a:visited {
    border-left: 10px solid #0176ab;
}
.nav li a:hover   { 
    border-left: 10px solid #00b9f2;
}
</style>
</head>
<body>
<div class="nav">
<ul>
<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>
</div>
</body>
</html>

ポイント

  • 失敗:「.nav li aセレクタに「border-bottom」プロパティを指定すると左端まで枠線が届かない

     ↓

  • 成功:「.nav liセレクタに「border-bottom」プロパティを指定すると左端まで枠線が届く