IE6 の挙動にはまった一日。。。
IE6 は !DOCTYPE 指定によって、「標準準拠モード」が有効になるが(参考:Internet Explorer 6 における CSS の拡張 - !DOCTYPE スイッチ)、このモードが有効なときと無効なときで javascriptや cssの挙動が変わる。
今回はまったのは、
「標準準拠モード」が無効なときしか document.body.clientHeight が正しい値を返さない。「標準準拠モード」が有効なときは、document.documentElement.clientHeight を使わないといけない。参考: Internet Explorer上のJavaScriptで、クライアントサイズが取得できない問題 【▲→川俣晶の縁側→ソフトウェア→技術雑記】
また、「標準準拠モード」が無効だと、img 要素の padding プロパティが有効にならない。参考:小粋空間: 標準準拠モードと後方互換モード・DOCTYPE宣言について - IEでドロップシャドウ画像に枠を表示する
もうイヤである。