IE6でposition:fixed;

cssで固定表示させるためにはposition:fixed;を設定しますが
IE6がこのプロパティに対応していないという…。

IE6用にposition:absolute;でいったん絶対位置表示を設定しておいて、
javascriptのスクロールイベントでスクロールした分だけcssのtopの値を増やすという手もありますが
これだとスクロールしたときガタつきがでてしまいます。

IE6だけの対策をわざわざ行うなら、スクロールがなめらかに仕上がるので expression のほうがおすすめです。

expression を使う

まず、expression での固定表示を有効にするために
htmlの背景画像を無効にして配置を固定するスタイルも設定します。
IE6だけで必要な設定なので、スターハックでもOK。

* html body {
	background: url(null) fixed;
}

固定表示させたい要素が#koteiで、ページの上端へ固定したい場合はこんな設定。

#kotei {
	position: fixed;
	top: 0;
	width: 100%;
	height: 24px;
}
* html #kotei {
	position: absolute;
	top: expression(eval(document.documentElement.scrollTop+0));
}

「scrollTop+0」の「0」を増やせば、上端からの距離をピクセル単位で追加できます。

セレクトボックスのz-indexが無視されるバグ

IE6のバグに、セレクトボックスは他の要素のz-indexを無視して最前面に表示されるバグがあります。
ページ内へセレクトボックスも含まれている場合は、この対策も必要です。

なぜだか、IE6でもセレクトボックスのz-indexは<iframe>よりも前面にでてこないため
バグ対策には、この性質を利用します。
上の例でいうと、固定表示したい#koteiと同じ大きさの<iframe>を背後に重ねる対応となります。

参考サイト:
http://d.hatena.ne.jp/cyokodog/20090902/jQueryExFixed03

関連記事

Pocket