[PR] 容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。さくらのレンタルサーバ。
ロールオーバー風のリンクボタンを作ろう ~リストタグ編 その2~
リストタグ編その1では、ブロックレベル要素のリストタグにCSSのフロートを設定して横に1列にボタンを並べましたが、今回は縦に並べるタイプのリンクボタンをデザインを変えて作ってみたいと思います。
スタイルシート適用前
リストタグは前後に改行が入るブロックレベル要素なので、フロートの設定を変えなければ、リスト領域はデフォルトで一つずつ縦に並びます。以下のサンプルでは、理解のために<li>タグにボーダーを設定してあります。
リンクタグ編その1とまったく同じソースコードです。ちなみに、リンク先を「#(シャープ)」にするとページトップを表示するリンクができます。
<ul>
<li><a href="#">リンクA</a></li>
<li><a href="#">リンクB</a></li>
<li><a href="#">リンクC</a></li>
</ul>
スタイルシート適用後
スタイルシートの理解を深めるために、やや極端なサンプルをご用意しました。ポイントは、カーソルをリンクの上に乗せた時のスタイルとして、ボックス要素の相対指定をマイナス方向へ設定したことです。
リンクタグ編その1では<DIV>タグでリストタグを囲みましたが、本サンプルでは、<ul>タグにクラスを設定してみました。リンクタグ編その1と比べて、<li>との親子関係に変化がないことに注目してください。
<ul class="sample04">
<li><a href="#">リンクA</a></li>
<li><a href="#">リンクB</a></li>
<li><a href="#">リンクC</a></li>
</ul>
<a>タグは前後に改行が入らないインラインレベル要素なので、リンクの幅を設定するためにブロックレベル要素に変更します。
更に、ホバー時に浮いたような動きをつけるために、ブロックレベル要素に変更したボックス領域を相対指定でマイナス方向へ数ピクセルずらし、<li>タグの背景を黒に設定して影のように見せています。デザイン的には稚拙ですが、スタイルの学習には役立つでしょう。
.sample04 li {
list-style-type:none;
width:200px;
margin:0 0 6px 0;
background: #333333;
color:#FFFFFF;
}
.sample04 a {
display:block;
width:188px;
padding:12px 0 12px 12px;
text-decoration:none;
background:#3399FF;
color:#FFFFFF;
background-image:url(背景画像へのパス);
background-repeat:repeat-y;
}
.sample04 a:hover {
position:relative;
top:-4px;
left:-6px;
}

現場のプロから学ぶXHTML+CSS
実践 Web Standards Design ~Web標準の基本とCSSレイアウト&Tips
スタイルシート スタンダード・デザインガイド
Webデザインの基本ルール-プロに学ぶ、一生枯れない永久不滅テクニック