Sep26

FireFoxのスクロールバー分のズレをとるCSS

FireFoxで表示したときページが縦方向にきっちり収まっているとき、スクロールバーの分だけスクロール時で表示されている時と比べてズレてしまいます。 デザイン自体には問題はありませんが、コンテンツが縦にきっちり収まっているページからコンテンツの長いページにページ移動する際にカクっとズレの動きが生じてしまいます。 な~んか気持ち悪いなぁと思ったときは

body {
   overflow-y:scroll;
}

とするとページ移動の際のズレの動きがなくなります。 しかし、IE6、IE7ではブラウザ自体のスクロールバーとは別にもうひとつ内側にスクロールバーができてしまいます。 そこで対処法としてIE6用CSSハックの*htmlとIE7用CSSハックの*+htmlを利用して

*html body {       /*IE6だけに適用*/
   overflow-y:auto;
}

*+html body {     /*IE7だけに適用*/
   overflow-y:auto;
}

body {
   overflow-y:scroll;
}

とすればFireFox、IE6、IE7ともにきっちり表示されます。

このブログのようにJavascriptのコンテンツの折りたたみといったエフェクトを使用しているとページが開いた瞬間は、まだコンテンツのCSSがhiddenの状態になっているので、FireFoxではカクっとズレの動きができてしまいます。今後こういうエフェクトを使うサイトには重宝するCSSなんじゃないかと思いました。

Related entries

Track back URL

http://u-ziq.com/cgi/mt/mt-tb.cgi/93

Coments

▲TOP

FEED

RSS    

JOB INFO




ANNOUNCE

  • 現在はありません。イベント&セミナーなどのお知らせを掲載してほしい方はお問い合わせフォームよりお気軽にご連絡ください。

WHO IS WRITING

テクノラティお気に入りに追加する

WEBデザインとシステムの共存、WEBストラテジーを考えた情報設計(IA)