1. Home
  2. Webテンプレート
  3. メニュー
  4. 横並びメニュー 均等幅2

横並びメニュー 均等幅2



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

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


表示例

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

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

使用している画像

hor_menu2_off.gif hor_menu2_off.gif

hor_menu2_on.gif hor_menu2_on.gif

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

画像の制作について

コード

CSSコード


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

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

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

/* --- リンク --- */
div.nav ul.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; /* テキストの下線(なし) */
}
/* --- ポイント時の設定 --- */
div.nav ul.nl li a:hover {
background: url(hor_menu2_on.gif) repeat-x bottom; /* ポイント時の水平線 */
}

/* --- clearfix --- */
.clearFix:after {
content: ".";
display: block;
height: 0;
clear: both;
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」という手法を使用しています。
  • リンクテキストの左右には余裕を持たせてください。ギリギリに設定すると、文字サイズを変更した際に折り返しが入ってしまう場合があります。
  • IE6での不具合(クリックできる範囲がテキストのみになってしまう)を避けるため、a要素に position: relative を指定しています。

メニュー

ページの先頭へ