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

横並びメニュー 均等幅5



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

項目名の下に英字を表示させたタイプとなります。


表示例

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

  • floatを指定して、li要素を横に並べています。
  • メニュー項目をポイントすると、その項目の背景画像が切り替わります。
  • 通常時の背景画像は、ナビゲーションバーとメニューエリアの2ヵ所に設定されています。
  • ポイント時の背景画像は、li要素内のa要素に設定されています。
  • 各項目の幅は均等になります。
  • 「項目の幅」は、項目の数に合わせて調整してください。このサンプルでは5つの項目があるので、1つの幅を20%に指定しています。

使用している画像

hor_menu6_off.gif hor_menu6_off.gif

hor_menu6_on.gif hor_menu6_on.gif

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

画像の制作について

コード

CSSコード


/* --- ナビゲーションバー --- */
div.nav {
width: 100%; /* ナビゲーションの幅 */
background: #4e83b3 url(hor_menu6_off.gif) repeat-x top; /* ナビゲーションの背景 */
border-top: 2px #84aed2 solid; /* 上境界線 */
border-bottom: 2px #2c5170 solid; /* 下境界線 */
font-size: 80%;
}

/* --- メニューエリア --- */
div.nav ul.nl {
width: 600px; /* メニューの幅 */
margin: 0 auto; /* センターに配置 */
padding: 0;
background: #4e83b3 url(hor_menu6_off.gif) repeat-x top; /* メニューの背景 */
border-left: 1px #2c5170 solid; /* メニューの左境界線 */
border-right: 1px #84aed2 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: 7px 2px 4px; /* リンクエリアのパディング(上、左右、下) */
border-left: 1px #84aed2 solid; /* リンクエリアの左境界線 */
border-right: 1px #2c5170 solid; /* リンクエリアの右境界線 */
text-decoration: none; /* テキストの下線(なし) */
font-weight: bold; /* 文字の太さ(太字) */
color: #ffffff; /* 文字色 */
line-height: 100%; /* 行の高さ */
}
/* 英字部分 */
div.nav ul.nl li a span.en {
display: block;
margin-top: 2px; /* 英字部分の上マージン */
font-size: 85%; /* 英字の文字サイズ */
font-weight: normal; /* 文字の太さ(ノーマル) */
color: #eee8aa; /* 英字の文字色 */
}
/* --- ポイント時の設定 --- */
div.nav ul.nl li a:hover {
background: #5e91bd url(hor_menu6_on.gif) repeat-x top; /* ポイント時の背景 */
}
div.nav ul.nl li a:hover span.en {
color: #fde337; /* ポイント時の英字の文字色 */
}

/* --- 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 <span class="en">Menu1</span></a></li>
<li><a href="#">メニュー項目2 <span class="en">Menu2</span></a></li>
<li><a href="#">メニュー項目3 <span class="en">Menu3</span></a></li>
<li><a href="#">メニュー項目4 <span class="en">Menu4</span></a></li>
<li><a href="#">メニュー項目5 <span class="en">Menu5</span></a></li>
</ul>

</div>

備考

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

更新履歴

2010/06/14
メイリオフォント使用時の不具合を避けるため、CSSコードを微調整しました。

メニュー

ページの先頭へ