ロールオーバーリンク3
ロールオーバーリンク1にさらに手を加えたサンプルをいくつか紹介します。
画像なしの限界を極めるのもいいかもしれませんね。
ボーダーを応用する(縦メニュー編)
ちょっとした計算が必要になってきます。
a.sample{ display:block; background-color:#FFFFA7; padding:0.5em 20px; width:80px; height:15px; text-decoration:none; } a:hover.sample{ background-color:#FFFFD5; padding:0.5em 20px 0.5em 10px; border-left:solid 10px #CC9966; } a:active.sample{ background-color:#FFFFD5; padding:0.5em 20px 0.5em 10px; border-left:solid 10px #FFCC00; }
このサンプルを使うには、あらかじめ使いたいページを標準準拠モードで書く必要があります。
それでもIE5.5などではちょっと表示が崩れてしまいます。
さらにテクニックを追加すれば大丈夫なのですが、今回はそこまでやっていません。
なぜ条件が細かいかというと、padding、border-widthの値を微調整する必要があるからです。
a:hover&active;の左側のpaddingの値(10px)とボーダーの太さの値(10px)の和をa.samleで指定した左側のpadding(20px)と同じにしなければなりません。 これをやらずにボーダーだけを追加してしまうと、文字の位置がずれたり、全体の長さが変わってしまいます。
ボーダーを応用する(横メニュー編)
ulタグでメニューと組み合わせて横並びバージョンにしてみました。
ul.sample1{ list-style:none; margin-left:0em; padding-left:0em; } li.sample1{ list-style:none; float:left; } a.sample1{ display:block; background-color:#FFFFA7; padding:6px 20px; width:80px; height:15px; text-decoration:none; } a:hover.sample1{ background-color:#FFFFD5; padding:6px 20px 3px 20px; border-bottom:solid 3px #CC9966; } a:active.sample1{ background-color:#FFFFD5; padding:6px 20px 3px 20px; border-bottom:solid 3px #FFCC00; }
こちらはaの下側のpaddingの値(6px)と、a:hover&active;の下側のpaddingの値(3px)とボーダーの太さの値(3px)の和を同じにする必要があります。
これをやらずにボーダーだけを追加してしまうと、文字の位置がずれたり、全体の高さが変わってしまいます。
pxではなく、emなどでも指定できますが、微妙に高さが変わってしまうことがあります。
使いこなすための+α
使いこなすためには、とにかくやってみることです。思いついたアイディアをどんどん試してみてください。
何気に今回はクリックするとさらにボーダーの色が変わる3段変化になっています。
activeの部分をいじればもっと凄いことができるかもしれません。