IE7の印刷プレビューでページが無限に増えていく
こちらに情報が:
決め手となったのは、
印刷用のcssで、
height: 277mm;
と記述したことによる。
今回はA4に印刷することを目的にしたページだったので、
mmという単位を使ってみたけど、しかしこれは...。
cssの構成としては、
1)表示用のcssのmedia属性にscreenとprintを指定し、
2)印刷のみに適用したいcssを別に用意(media属性はprintのみ)。
IE7のみ、1ページ目が空白ページになるため、いろいろ試して、
紙の切れ目までをまとめるdivに対して、
2)のcssにheightの記述を追加したところで現象発生。
「紙の切れ目までをまとめるdiv」には、その要素の後で改ページさせるので、
page-break-after: always;
を指定。
ちなみに、IE6とIE7は、改ページさせないためのavoidという値に対応していないので、
代わりにautoを使う。
1)には、このdivに対して、
min-height: 277mm
という指定もあり。
改ページ位置の算出に失敗することによる現象とすると、
高さの指定でよろしくないことをしてしまったんだろうなぁ...、IE7ごめん。
CSS2.1の「10.4 Minimum and maximum widths: 'min-width' and 'max-width'」を参照:
で、2)のcssに、
min-height: 257mm;
と20mm縮めた指定をして(1ページに収まらなかったので)、とりあえず現象回避。
(とりあえず、*:first-child+htmlを使って、IE7にのみ適用)