2005年04月28日

フレームページでスクロールバーが出る

CSSデザインをしてて、フレームなんぞに悩まされました。
ひさしくフレームなんて使っていなかったので、
HTML4.01+CSS2.0で制作しても問題ないと思えた矢先、落とし穴にはまりました。

IE6.0だけなぜかフレームを使ってるページに遠慮なくスクロールバーが出てしまうのです。
あれやこれやいじってみましたが、原因はフレームセットになく、
実はDTD宣言が原因でした。

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"

通常、標準モードでHTML書いていますが、

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

に変えたところ直りました。

が、これやってしまうと、互換モードになってしまうので、
paddingとか使ってるとボックスの幅が変っちゃうんですよね。

検索したらありました。

WinIE6の標準モードにおいてフレーム内ページに横スクロールバーが表示される
横スクロールバーを隠す方法。for IE6フレームを使ったページ

html{overflow-y: scroll;}

をスタイルシートで適用すれば解決!

IE6のバグみたいで有名な話のようです。
助かりました。。

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/cpiblog00920/20261827