Home > XHTML CSS > CSS メニュー横並びボタン

CSS メニュー横並びボタン

  • Posted by: wu
  • August 24, 2005 9:20 AM
  • XHTML CSS

2007-01/20更新しました。

ソースコードを見直してボタン化の方法を変えました。基本CSSボタンメニューと同じ方法で、floatとfloatによるクリアの問題を解決するためのコードも含めました。これにより、コピペで問題なく使えるようになりました。

変更点は以下の通りです。

  • floatをクリアするコードも含めた。ページ下部にはMacIEに対応する場合の追加コードも記述
  • a要素にwidthを指定していたのを、親要素に変更。これにより、a要素には左右にpaddingが指定できるようになった。
  • HTML側でulとliのセットのみでボタン化できるようにした。
  • プロパティの記述順序を変更

ボタン横並びナビゲーションメニューのサンプル

<ul id="globalNavi">
 <li><a href="./">List1</a></li>
 <li><a href="./">List2</a></li>
 <li><a href="./">List3</a></li>
 <li><a href="./">List4</a></li>
</ul>

id名、marginやcolorプロパティなどはサイトに合わせて適切に変更してください。

これを基本に、背景画像を入れたりpaddingを調整すれば色々作れます。

li要素がフロートすることによって、包含ブロックであるul要素は高さの算出する子要素がなくなり、ぺっちゃんこになってしまうので、擬似要素によるクリアをコード中にいれています。もし、MAC IEに対応する必要がある場合は、ul#globalNaviには次のコードを追加してください。

ul#globalNavi {
 margin: 0;
 padding: 0;
 width: 500px;
 /* for MacIE5.x \*//*/
 overflow: hidden;
 /* end */
}

WIN IE6では親要素がposition: absoluteしないと何故かA要素のマウス反応範囲が消えてしまうので、absoluteしない場合はA要素にposition: relative;が必要。

Comments:4

Comment Form
wu 2005年8月25日 17:45

こうして書いてみると思ってるより簡単なんだなぁ・・・。なんでいつもややこしく感じていたんだろ。

sen 2007年5月26日 17:10

検索していて、拝見しました。
このリンクですが、グレーの背景?のところは
色を変えることが出来ますか?

何度かやってみたのですが、うまくいきませんでした・・・
もしよろしければ、教えてください。

wu 2007年5月26日 17:17

もちろんできますよ。
ul#globalNavi li a {
.
.
background-color: #eee;
}
background-color: #eeeというところがグレーの指定です。

Anonymous 2007年8月29日 09:51

すごくためになります。ありがとうございます。
今なんとかメニューとタイトルの間のスペースを埋めようとしているのですが、中々うまくいきません。
のなかにいれているからでしょうか?

Trackbacks:0

TrackBack URL for this entry
http://3ping.org/mt/mt-tb.cgi/51
Listed below are links to weblogs that reference
CSS メニュー横並びボタン from 3ping.org

Home > XHTML CSS > CSS メニュー横並びボタン

Book

実践 Web Standards Design

拙著「実践 Web Standards Design」ではXHTMLやCSSの仕様からマークアップの手法・考え方をはじめ、レイアウトや実践的なWebサイト構築のワークフロー、そしてCSSを利用したさまざまな技術的Tipsを解説しています。

Products
Search
Feeds

Return to page top