この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2005年9月)

2005年9月21日

overflowの解釈、間違ってませんか?
初回投稿日時: 2005年09月21日03時46分22秒
最終更新日時: 2005年09月21日03時48分41秒
カテゴリ: CSS
SNS: (list)

今日、ふと思い出して、この話題をまだ書いたこと無いことに気づいたので簡単に。

CSSハックだとか、SEOだとかで、text-indentに大きなマイナスの値を指定したり、position: absolute;で、lefttopに大きなマイナスの値を指定して、要するに、ブラウザがスクロールできない場所にテキストを持って行く、という手法を聞いたことがある。

CSSの仕様書を見たことあれば、こんな手法は不自然に感じると思う。そして、その疑念は正しい。CSSのoverflowauto値の説明を見てみると、

The behavior of the 'auto' value is user agent-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.

とある。つまり、理想的なブラウザでは、負の座標に追いやられたボックスもスクロールすることで表示可能と考えるべきである。

さらに、ブラウザのルート要素に指定されたoverflow: visible;(初期値)はCSSのauto値に読み替えることになっているので、ブラウザはその内容を全てスクロールで表示可能とするべきであるということになる。

Mozillaでも古くからこの問題はとりあげられており、修正パッチが無いので修正されていないだけで、そのうち改善されることになるかもしれない。その時に、とんでもない表示になるサイトが少ないことを祈るばかりだ。

関連するかもしれないエントリ

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。