CSS を用いて Microsoft Excel などのスプレッドシートの端にあるタブ様のコントロールを表示する方法です。HTML としては単純な ul 要素を用いてリストとして記述でき、このサイトでもカテゴリの一覧(ページ右上のヤツ)に利用しています。
li 要素に selected クラスを与えることで、そのタブがフォーカスされた状態で表示されます。
<ul class="tabs"> <li><a href="#"><span>Tab1</span></a></li> <li><a href="#"><span>Tab2</span></a></li> <li><a href="#"><span>Tab3</span></a></li> <li class="selected"><a href="#"><span>Tab4</span></a></li> <li><a href="#"><span>Tab5</span></a></li> </ul>
タブの重なりを実現するために li 要素を inline として float を指定し、margin-left でマイナス値を指定するのがミソなんだと思います。重なり順の制御には position と z-index が必要です。
ul.tabs li {
display: inline;
}
ul.tabs li a {
display: block;
float: left;
line-height: 20px;
position: relative;
margin-left: -6px; /*タブの重なり具合*/
padding-right: 12px;
background: url('tab0e.gif') right top no-repeat;
border-bottom: solid 1px grey;
}
ul.tabs li span {
float: left;
display: block;
padding-left: 15px;
padding-right: 3px;
background: url('tab0s.gif') left top no-repeat;
height: 20px;
}
ul.tabs li.selected a {
background: url('tab1e.gif') right top no-repeat;
border-bottom: solid 1px white;
z-index: 1;
}
ul.tabs li.selected span {
background: url('./tab1s.gif') left top no-repeat;
font-weight: bold;
}



