私はHTML形式のレポートを生成する際に仕事をしていますが、クライアントはしばしばこれらのレポートを印刷します。私たちが遭遇した問題は、クライアントが印刷するときに、内側のテーブルの1つが、印刷ビューのページ区切り前に1または2ピクセルで始まることです。これにより、テーブルが消えてしまいますが、スペースが取られます。ネストされたHTMLテーブルエラー、印刷プレビューでページ区切りに欠けているテーブルIE
<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の問題ですか、この問題を回避するためにできることはありますか?
EDIT 我々はできるだけ裸の骨を試してみました(唯一のTD要素に接して)、我々は同じ問題に遭遇しました。
私たちは問題を解決することができませんでしたが、私たちの回避策は外側テーブルのセルを1回だけ使用し、内部テーブルを内側に配置することでした。これは、改ページの近くでテーブルが消えないようにしました。
境界が崩壊しても問題が再現できることが判明しました –
ネストしたテーブルを正当化するどのような狂ったデータ構造ですか? (または、それらが正当でないレイアウトテーブルですか?) – Quentin
'page-break-after'のようなCSSスタイルもテーブル内でうまく動作しません。あなたは本当に大きな外のテーブルなしで解決策を見つけることを試みるべきです。 –