CSSテクニック

ロールオーバーリンク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などいらないのかもしれません。


一覧へ戻る


Last Modified 2004-11-21 © きくちゃん 2004 - All Rights Reserved