2012-05-04 9 views
0

私は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回だけ使用し、内部テーブルを内側に配置することでした。これは、改ページの近くでテーブルが消えないようにしました。

+0

境界が崩壊しても問題が再現できることが判明しました –

+0

ネストしたテーブルを正当化するどのような狂ったデータ構造ですか? (または、それらが正当でないレイアウトテーブルですか?) – Quentin

+0

'page-break-after'のようなCSSスタイルもテーブル内でうまく動作しません。あなたは本当に大きな外のテーブルなしで解決策を見つけることを試みるべきです。 –

答えて

0

私たちはビジネスアプリケーションでIE7とIE8と全く同じ問題に直面しました。これはネストされたテーブルレイアウトを使用します。 影響を受けるサンプルのテストの証拠として、Internet Explorer 11にはこの問題はありません。

これはIE 10以前のバージョンのMicrosoftテクニカルサポートに存在するIEのバグで、多くのPDFプリンタで使用されていたPrint-to-PDF機能にも反映されています。

残念ながら、私が述べたことの証拠はありません。 IE11で親切にチェックし、問題が解決したかどうか確認してください。もう1つの選択肢は、まだブラウザを切り替えるつもりがない場合は、divベースのレイアウトでテストすることです。

関連する問題