3

他の3つのページを表示する3つのiframeを配置したページがあります。すべてが大きな DIV 要素にラップされ、すべての iframe が独自の DIV 要素にラップされます。各 DIV の間に、次の CSS コードを含む別の DIV 要素を配置します。

@media print { .page-break {display:block; page-break-before:always;} }

Firefox (この場合はバージョン 12 ですが、バージョンの問題ではないと思います) では、すべてがページ全体を印刷することになっているはずですが、IE8 では改ページ CSS がまったく機能していないようで、印刷するとページが乱れます。

ここで、この改ページは配置された要素では機能しないという回答に出くわしましたが、私の場合、この CSS コードを含む要素は、ここで説明するようにその間の DIV であり、印刷されたページのコンテンツの配置 (相対/絶対) 、float) は、メイン ページではなく iframe 内に含まれるページのソースでのみ実行されるため、これがここで発生している状況の理由であるかどうかはわかりません。

この改ページを IE8 でも正しく動作させるにはどうすればよいですか?

これは MAIN ページのコードです。

<style>
@media print { .page-break {display:block; page-break-before:always;} }
</style>

<div align="left">
<div id="frame_gop" align="left" style="width:759px;height:980px;">
<iframe src="page1.html" width="759" height="980" frameborder="0" align="left"></iframe>
</div>
<div class="page_break"></div>
<div id="frame_report" align="left" style="width:759px;height:980px;">
<iframe src="page2.html" width="759" height="980" frameborder="0" align="left"></iframe>
</div>
<div class="page_break"></div>
<div id="frame_release" align="left" style="width:759px;height:980px;">
<iframe src="page3.html" width="759" height="980" frameborder="0" align="left"></iframe>
</div>
</div>
4

1 に答える 1

1

@media クエリは IE8 でサポートされていません。削除してください。単純なクラスを使用するだけです

交換:

@media print { .page-break {display:block; page-break-before:always;} }

から:

.page-break {display:block; page-break-before:always;}

ありがとう

于 2015-03-25T07:28:28.947 に答える