私が働いているビジネスでは、HTML 形式でレポートを生成し、クライアントはこれらのレポートを印刷することがよくあります。私たちが遭遇した問題は、クライアントが印刷するときに、印刷ビューの改ページの 1 ~ 2 ピクセル前に内側のテーブルの 1 つが開始されることがあるということです。これにより、テーブルが消えますが、スペースが占有されます。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
<style type="text/css">
td { border:1px solid black;}
table {border-collapse:collapse;}
</style>
</HEAD>
<BODY>
<TABLE class="main">
<TR>
<TD>
<TABLE class="second">
<TR>
<TD style="border-top:824px solid-black">1</TD>
</TR>
<TR>
<TD>1_1</TD>
</TR>
<TR>
<TD>1_2</TD>
</TR>
<TR>
<TD>1_3</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD>
<TABLE class="second">
<TR>
<TD>2</TD>
</TR>
<TR>
<TD>2_1</TD>
</TR>
<TR>
<TD>2_2</TD>
</TR>
<TR>
<TD>2_3</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD>
<TABLE class="second">
<TR>
<TD>3</TD>
</TR>
<TR>
<TD>3_1</TD>
</TR>
<TR>
<TD>3_2</TD>
</TR>
<TR>
<TD>3_3</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
上記のコードはエラーを再現するはずですが、境界線にパディングを追加して、2 番目のテーブルを改ページの直前に移動する必要がある場合があります。
改ページ、パディング、ボーダーの折りたたみ、ボーダーの折りたたみなしを試しました。セルの境界線を除いてスタイル設定のない 2 つのテーブルだけの場合、エラーが持続するように見えます。これはかなり大きな欠陥のように見えますが、私はそれについて何も見つけることができませんでした。
これは IE の問題ですか、それともこの問題を回避するために何かできることはありますか?
編集 可能な限り必要最小限 (TD 要素の境界線のみ) で試してみましたが、同じ問題が発生していました。
問題を解決することはできませんでしたが、回避策として、外側のテーブルのセルを 1 つだけ使用し、内側のテーブルをそれぞれ内側に配置しました。これにより、改ページの近くでテーブルが消えるのを防ぎました。