1. ページ情報
  2. メインコンテンツ
  3. メニュー
  4. サブコンテンツ
  5. サイト情報


当ページまでの足跡
ホーム
インターネット
CSS Tips
ulタグで縦並びのボタンメニューを作る2

ulタグで縦並びのボタンメニューを作る2

ulタグを使った、CSSで背景とボーダーを設定しただけのボタンメニューには欠点があります。それは、ボーダー幅の解釈がブラウザによって違うため、意図していない幅になってしまう可能性があるということです。

例えば、横幅160pxぴったりにボタンメニューを作りたい時に、ボーダー幅10pxを設定した場合、全体の横幅が10px+160px+10pxで合計180pxと解釈するブラウザと、ボーダー幅の合計20pxを含めて160pxと解釈するブラウザがあるということです。

ill_ul_menu_2.gif

この問題を解決するには、以下のような画像を使います。(見た目は前回のボタンメニューと同じになります。)

bt_out.gif(160px×10px)
bt_out.gif

bt_over.gif(160px × 10px)
bt_over.gif

HTMLの記述

<ul>
<li><a href="#">リンク1</a></li>
<li><a href="#">リンク2</a></li>
<li><a href="#">リンク3</a></li>
<li><a href="#">リンク4</a></li>
</ul>

CSSの記述

ul{
margin:0px;
padding:0px;
list-style:none;
}
 
a{
text-decoration:none;
text-align:center;
width:160px;
display:block;
}
 
a:link,
a:visited{
color:#0000FF;
background:url("bt_out.gif") repeat-y;
border-top:1px #EEEEEE solid;
border-bottom:1px #CCCCCC solid;
}
 
a:hover{
color:#0000AA;
background:url("bt_over.gif") repeat-y;
border-top:1px #DDDDDD solid;
border-bottom:1px #BBBBBB solid;
}

ポイント

背景と左右のボーダーを画像化することで、横幅がブラウザに影響されなくなります。また、上下のボーダーだけCSSを設定することで、文字サイズが変更された場合に対処できます。

コメント

コメントフォーム

*印が付いた項目は入力必須です。

※Typekey(認証サービス)を利用しないで投稿されたコメントは承認されるまで表示されません。

トラックバック

トラックバックURL

※受け付けたトラックバックは承認されるまで表示されません。

前後のコンテンツ
ulタグで縦並びのボタンメニューを作る
ulタグで縦並びのボタンメニューを作る2
ulタグで縦並びのボタンメニューを作る3


Join

Ads



  1. ページ情報
  2. メインコンテンツ
  3. メニュー
  4. サブコンテンツ
  5. サイト情報