任意の要素を position: fixed として left, right, top, bottom といったプロパティ で位置指定すると特定位置の前面に固定する事が出来ます。 しかし、IEは position: fixed が効かないために実用出来ないという現状です。
そこで、JavaScriptを使ってIEは位置を固定させるよう考えていたのですが、色々 試しているとJavaScriptを使用しなくとも実現出来る事が分かりました。 実はこれ、CSS: 複数の背景画像のページを修正している 最中に思い付いたものです。(似ている部分ありますね) ところが、検索してみると同様の方法は結構知られているようでした・・・。
IEのみ body を overflow:hidden でスクロールバーを非表示にして、 代りに div で overflow:auto とすることでスクロールバーを表示させます。 そして、この div と body の隙間に position:fixed するものを置いて、 IEはこれを position:absolute にするとブラウザに対して上手く固定されます。
※ 標準準拠モードには対応していません。
※ 無料レンタルなどのホームページスペースで、ページ上部や下部に広告が
自動挿入される場合、広告が正しく表示されない可能性があります。
2007/08/24 <body scroll="no"> を body { overflow: hidden; } に
変更しました。