横並びメニュー 均等幅2

無料・有料 レンタルサーバー比較


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

各項目の下側に水平ラインを表示しています。

テンプレートのご利用について


ヘッダ付近での使用を想定した横型のメニューです。

  • floatを指定して、li要素を横に並べています。
  • メニュー項目をポイントすると、下側の水平線が切り替わります。
  • 下側の水平線は、li要素内のa要素の背景に設定されています。
  • 各項目の幅は均等になります。
  • 項目の幅は、項目の数に合わせて調整してください。このサンプルでは5つの項目があるので、1つの幅を20%に指定しています。
使用している画像

hor_menu2_off.gif hor_menu2_off.gif

hor_menu2_on.gif hor_menu2_on.gif

画像へは直接リンクしないでください。ダウンロードしてから使用してください)

コード

CSSコード
/* --- ナビゲーションバー --- */
.nav {
width: 100%; /* ナビゲーションの幅 */
background-color: #f9f9f9; /* ナビゲーションの背景色 */
border-top: 1px #cccccc solid; /* 上枠線 */
border-bottom: 1px #cccccc solid; /* 下枠線 */
font-size: 80%;
}

/* --- メニューエリア --- */
.nav .nl {
width: 600px; /* メニューの幅 */
margin: 0 auto; /* センターに配置 */
padding: 0;
background-color: #ffffff; /* メニューの背景色 */
border-right: 1px #cccccc solid; /* メニューの右枠線 */
list-style-type: none;
text-align: center;
}

/* --- メニュー項目 --- */
.nav .nl li {
width: 20%; /* 項目の幅 */
float: left;
}

/* --- リンク --- */
.nav .nl li a {
display: block;
position: relative; /* IE6用 */
padding: 8px 2px; /* リンクエリアのパディング(上下、左右) */
background: url(hor_menu2_off.gif) repeat-x bottom; /* 下側の水平線 */
border-left: 1px #cccccc solid; /* リンクエリアの左枠線 */
text-decoration: none; /* テキストの下線(なし) */
}
/* --- ポイント時の設定 --- */
.nav .nl li a:hover {
background: url(hor_menu2_on.gif) repeat-x bottom; /* ポイント時の水平線 */
}

/* --- clearfix --- */
.clearFix:after {
content: ".";
display: block;
height: 0;
clear: left;
visibility: hidden;
}
.clearFix {
min-height: 1px;
}
HTMLコード
<div class="nav">

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

備考

  • floatの解除には「clearfix」という手法を使用しています。
  • 「メニューの幅」の指定は省かないようにしてください(IEでの不具合を避けるため)。
  • リンクテキストの左右には余裕を持たせてください。ギリギリに設定すると、文字サイズを変更した際に折り返しが入ってしまう場合があります。
  • IE6での不具合(選択できる範囲がテキストのみになってしまう)を避けるため、a要素に position: relative を指定しています。


inserted by FC2 system