機能の概要
画面左にテーブルを配し、これを固定することでスクロールをしても動かないメニューとします。
コンテンツは重ならないように左に余白を取って表示させます。
これによってメニュー部分は常に画面の中に表示されるため、コンテンツをスクロールしてもすぐに使うことができます。
また、メニュー部分は、画像を使わずに幅を調節して、マウスオーバーにも対応した表現を与えています。
左のサンプルではリンクを無効にしています。
製作工程
- <table>を使ったメニューの作成
- CSSによるコンテンツの幅の調節
- CSSでメニュー内のリンクをボタン化
HTML
<!DOCTYPE HTML>
<html> <head> (省略) </head> <body> <h1>CSSフローティングメニュー</h1> <hr> <table border="2" cellpadding="0" cellspacing="5" id="tmenu"> <tr><td><a href="001.html" class="amenu">MENU001</a></td></tr> <tr><td><a href="002.html" class="amenu">MENU002</a></td></tr> <tr><td><a href="003.html" class="amenu">MENU003</a></td></tr> <tr><td><a href="004.html" class="amenu">MENU004</a></td></tr> <tr><td><a href="005.html" class="amenu">MENU005</a></td></tr> </table> <div id="main"> (省略) </div> </body> </html>
CSS
<style type="text/css">
#tmenu {
float: left;
width: 200px;
position: fixed;
margin: 10px;
}
#main {
padding-left: 240px;
}
.amenu {
background-color: #CCFFCC;
color: #006600;
font-weight: bold;
display: block;
padding: 5px;
text-align: center;
text-decoration: none;
}
.amenu:hover {
background-color: #FFCCFF;
color: #FF0000;
}
</style>
注意点
DTDの記述がないと「position: fixed;」が有効に働かない。