現在地: Home » 上級スタイルシートレイアウト講座:目次 » 横並びメニュー

横並びメニュー

テキストのみの場合

横並びメニューサンプル表示

HTML

<div id="globalnavi">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
</ul>
</div>

CSS|スタイルシート

 #globalnavi{
position: relative;
width: 100%;
}

#globalnavi ul{
list-style-type: none;
}

#globalnavi li{
float:left;
width: 100px;
}

#globalnavi li a{
padding: 0.5em 0;
text-align: center;
display:block;
width:100%;
background-color:black;
color:white;
}

#globalnavi li a:hover{
background-color: red;
color: white;
}

▲Top

背景画像の場合

横並びメニューサンプル表示

背景画像

HTML

<div id="globalnavi">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
<li><a href="#">menu</a></li>
</ul>
</div>

CSS|スタイルシート

 #globalnavi{
position: relative;
width: 100%;
}

#globalnavi ul{list-style-type: none;}

#globalnavi li{
float:left;
width: 100px;
}

#globalnavi li a{
padding: 0.5em 0;
text-align: center;
background: url(画像のパス) no-repeat 0 50%;
color:#000000;
display:block;
width:100%;
}

#globalnavi li a:hover{
background: url(画像のパス) no-repeat -100px 50%;
color: #ffffff;
}

▲Top

全て画像の場合

横並びメニューサンプル表示

背景画像

HTML

<div id="globalnavi">
<ul>
<li id="menu1"><a href="#">Home</a></li>
<li id="menu2"><a href="#">menu</a></li>
<li id="menu3"><a href="#">menu</a></li>
<li id="menu4"><a href="#">menu</a></li>
<li id="menu5"><a href="#">menu</a></li>
<li id="menu6"><a href="#">menu</a></li>
<li id="menu7"><a href="#">menu</a></li>
</ul>
</div>

CSS|スタイルシート

 #globalnavi{
position: relative;
width: 100%;
height: 40px;
}

#globalnavi ul{list-style-type: none;}

#globalnavi li{
text-indent: -9999px;
float:left;
width: 100px;
}

#globalnavi li a{
display: block;
width: 100%;
height: 40px;
background-image: url(画像のパス);
background-repeat: no-repeat;
}

#globalnavi li a:hover{
background-image: url(画像のパス);
background-repeat: no-repeat;
}

#menu1 a{background-position: 0 0;}
#menu2 a{background-position: -100px 0;}
#menu3 a{background-position: -200px 0;}
#menu4 a{background-position: -300px 0;}
#menu5 a{background-position: -400px 0;}
#menu6 a{background-position: -500px 0;}
#menu7 a{background-position: -600px 0;}

#menu1 a:hover{background-position: 0 -40px;}
#menu2 a:hover{background-position: -100px -40px;}
#menu3 a:hover{background-position: -200px -40px;}
#menu4 a:hover{background-position: -300px -40px;}
#menu5 a:hover{background-position: -400px -40px;}
#menu6 a:hover{background-position: -500px -40px;}
#menu7 a:hover{background-position: -600px -40px;} 

▲Top

このCSS指定における注意事項

CSS指定によるロールオーバーで、この方法もかなり浸透して来たかと思いますが、最近(2008/07時点)ちょっと気になる事があります。Googleのウェブマスター向けガイドラインの一部に抵触するのでは?という点です。

当サイトも発足時からCSSロールオーバーを指定していますが、今のところ変化はないみたいです。因みに気になるのは下記点です。

以下はgoogleウェブマスター向けガイドラインからの引用です。

隠しテキストおよび隠しリンク

コンテンツに隠しテキストや隠しリンクが含まれていると、ユーザーに対するものと異なる情報が検索エンジンに提示されるため、信頼できないサイトと見なされる可能性があります。 過度のキーワードといったテキストは、以下のような複数の方法で隠すことができます。

  • 白の背景で白のテキストを使用する
  • テキストを画像の後ろに含める
  • CSS を使用してテキストを隠す
  • フォント サイズを 0 に設定する

隠しリンクとは、Googlebot でクロールされることを意図しているが、下記のようにユーザーからは読み取れないリンクのことです。

  • リンクが隠しテキストで構成されている (たとえば、テキストの色と背景色が同じ)。
  • CSS を使用して、高さが 1 ピクセル程度の非常に小さいハイパーリンクが作成されている。
  • リンクが小さな文字 (たとえば、段落中のハイフン) に組み込まれている。

偽装目的の隠しテキストや隠しリンクが含まれていると判断されたサイトは、Google のインデックスから削除され、検索結果ページに表示されなくなります。

偽装目的の隠しテキストや隠しリンクが含まれていると判断されたサイト」とあるので多分大丈夫と思いますが、使用は自己責任でお願いします。

▲Top

高性能サーバ

低価格サーバ

無料ホームページスペース