1. Home
  2. Webテンプレート
  3. メニュー
  4. 縦並びメニュー2

縦並びメニュー2



縦並びのメニューを作成するサンプルコードです。

各項目の左側に垂直ラインを表示しています。


表示例

サイドバー内での使用を想定した縦型のメニューです。

  • メニューの幅は、「ナビゲーションの幅」に合わされます。
  • メニュー項目をポイントすると、左側の垂直ラインが切り替わります。
  • 左側の垂直ラインは、li要素内のa要素の左境界線で設定されています。

コード

CSSコード


/* --- ナビゲーションバー --- */
div.nav {
width: 180px; /* ナビゲーションの幅 */
font-size: 80%;
}

/* --- メニューエリア --- */
div.nav ul.nl {
margin: 0;
padding: 0;
border-top: 1px #c0c0c0 dotted; /* 最上部の境界線 */
list-style-type: none;
text-align: left;
}

/* --- メニュー項目 --- */
div.nav ul.nl li {
padding: 3px 1px; /* 項目のパディング(上下、左右) */
background-color: #f9f9f9; /* 項目の背景色 */
border-bottom: 1px #c0c0c0 dotted; /* 項目の下境界線 */
}

/* --- リンク --- */
div.nav ul.nl li a {
display: block;
position: relative; /* IE6用 */
padding: 8px 10px; /* リンクエリアのパディング(上下、左右) */
border-left: 4px #c0c0c0 solid; /* リンクエリアの左境界線 */
text-decoration: none; /* テキストの下線(なし) */
}
/* --- ポイント時の設定 --- */
div.nav ul.nl li a:hover {
border-left-color: #e0e0e0; /* ポイント時の左境界線色 */
}

HTMLコード


<div class="nav">

<ul class="nl">
<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>

備考

  • IE6での不具合(クリックできる範囲がテキストのみになってしまう)を避けるため、a要素に position: relative を指定しています。

更新履歴

2010/02/25
背景画像を使用しないタイプに変更しました。

ページの先頭へ