何にそんなに怒っているのか?・・・つまりIE(インターネットエクスプローラー)、そうmicrosoftがwindowsに標準で装備している ブラウザのコトなんです。
以前からこのIE君は、独自の悪いクセがあることは存じておりましたので、そこを避けながらシコシコとサイトを作っておりました。手持ちの各ブラウ ザと勿論IEでの表示確認は欠かせないものです。今回もシッカリ表示の確認をして、ヤレヤレ午後には得意先に納品です。
さて、納品先の話では以前から「印刷でおかしくなる」とのハナシがあったなぁ・・・と、思い出し、確認の為、各ページの印刷プレビューを見ると、ホ ラどのブラウザでも上手く印刷できるでしょ・・・と、思いきや!IEで印刷時に2ページ以上必要とするページでは、画面上部に来るはずのtop部分が、2 ページ目のトップに印刷されちゃいます。とは言え1ページで収まるページは問題が発生しません。
色々と試してみたところ、原因がわかりました。私はトップ部分にあるメインタイトルやページ遷移の為のメニュー部分は、HTML記述では、最後の方 にdivで置いておきます(何故そのようにしているのか?は、ここでは掘り下げませんが、心あるヒトにはわかるハズです)。そしてCCSにより、その表示 上の配置を制御する手法を取っているのです。・・・アホなIE君は、CCSの記述は理解しても、上から順に印刷イメージを作って行くのでしょうね。だから 一番下の方にあるトップ部分の記述が見つかるまで、印刷の上には出せないのでしょうなぁ。
案の定、トップ部分を不本意ながら、そのまま上に記述すると、問題は解決しちゃいました。・・・あああああ、オマエのおかげで、私のエレガントな HTML記述が、フイになっちまった!