IE7の印刷プレビューでページが無限に増えていく

こちらに情報が:

Windows版IEで印刷プレビューするとページ数が無限に増えていく現象: WEBプログラミング NOW!

決め手となったのは、
印刷用の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'」を参照:

http://www.w3.org/TR/CSS21/visudet.html#min-max-widths


で、2)のcssに、

	min-height: 257mm;

と20mm縮めた指定をして(1ページに収まらなかったので)、とりあえず現象回避。
(とりあえず、*:first-child+htmlを使って、IE7にのみ適用)