ロールオーバーリンク1
リンクに背景色や背景画像を指定してロールオーバー効果(カーソルをのせると画像が変わるアレ)
をやろうというものです。バリエーションが豊富なのでいくつかに分けて紹介します。
javascriptなしでもここまでできるんです!
一番シンプルな例
次のようなスタイルシートを書いて、適用させたいaタグにclass設定をするだけです。
a.sample{ background-color:#FFFFB0; } a:hover.sample{ background-color:#FFCC99; }
ただ背景色を指定しただけです。a:visitedを追加して背景色を変えてもいいかもしれません。
余白をつけてみました
余白をつけるためにpaddingを加えてみました。
a.sample1{ background-color:#FFFFB0; padding:0.5em 1em; } a:hover.sample1{ background-color:#FFCC99; }
paddingの値はお好みで。
幅をそろえて余白をつけてみました
幅を固定するといえばwidthとheightですね
a.sample2{ display:block; background-color:#FFFFB0; padding:0.5em 1em; width:100px; height:15px; } a:hover.sample2{ background-color:#FFCC99; }
注目して欲しいのはdisplay:block;です。これを忘れてはいけません。
なぜかというと、インライン要素にwidthやheightを指定しちゃいけないことになっているから。
aタグはインライン要素なので、display:block;を使ってブロック要素にしてあげる必要があります。
使いこなすための+α
幅を固定するにはdisplay:block;がいるみたいだけど、改行されちゃうよ〜。
横に並べるにはどうすればいいの?という人もいるのではないでしょうか。
そんな時はulタグでメニューと組み合わせてみましょう。
ulやliに設定したプロパティの意味はulタグでメニューを見てください。
ul.sample3{ list-style:none; width:100%; padding-left:0; margin-left:0; } li.sample3{ list-style:none; float:left; border-width:2px; border-color:#FFEEDB; border-style:ridge; text-align:center; } a.sample3{ display:block; background-color:#FFFFB0; padding:0.5em 1em; width:90px; height:15px; } a:hover.sample3{ background-color:#FFCC99; }
liにtext-align:center;を設定しておくといいと思います。
これだけでも十分使えるメニューバーになるでしょう。
スタイルシートさえあれば魅せるためのjavascriptTipsなどいらないのかもしれません。