亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問打印大型HTML表時如何處理分頁符

請問打印大型HTML表時如何處理分頁符

呼喚遠方 2019-08-01 06:06:03
打印大型HTML表時如何處理分頁符我有一個項目,它需要打印一個包含許多行的HTML表。我的問題是表格在多頁上的打印方式。它有時會將一行切成兩半,這使得它無法讀,因為其中一半在頁面的邊緣,其余的則打印在下一頁的頂部。我能想到的唯一可行的解決方案是使用堆疊的div,而不是表和強制分頁(如果需要的話)。但在我經歷所有的改變之前,我想我可以在這里問一問。
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Test</title><style type="text/css">
    table { page-break-inside:auto }
    tr    { page-break-inside:avoid; page-break-after:auto }
    thead { display:table-header-group }
    tfoot { display:table-footer-group }</style></head><body>
    <table>
        <thead>
            <tr><th>heading</th></tr>
        </thead>
        <tfoot>
            <tr><td>notes</td></tr>
        </tfoot>
        <tbody>
        <tr>
            <td>x</td>
        </tr>
        <tr>
            <td>x</td>
        </tr>
        <!-- 500 more rows -->
        <tr>
            <td>x</td>
        </tr>
    </tbody>
    </table></body></html>





查看完整回答
反對 回復 2019-08-02
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

注意:當使用分頁后:總是為標簽,它將創建一個分頁后的最后一點表,創建一個完全空白頁在結束每一次!要解決這個問題,只需將其更改為“分頁后:自動”。它將正確中斷,而不會創建額外的空白頁。

<html><head><style>@media print{
  table { page-break-after:auto }
  tr    { page-break-inside:avoid; page-break-after:auto }
  td    { page-break-inside:avoid; page-break-after:auto }
  thead { display:table-header-group }
  tfoot { display:table-footer-group }}</style></head><body>....</body></html>



查看完整回答
反對 回復 2019-08-02
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

從錫南紐爾解決方案擴大:

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Test</title><style type="text/css">
    table { page-break-inside:auto }
    div   { page-break-inside:avoid; } /* This is the key */
    thead { display:table-header-group }
    tfoot { display:table-footer-group }</style></head><body>
    <table>
        <thead>
            <tr><th>heading</th></tr>
        </thead>
        <tfoot>
            <tr><td>notes</td></tr>
        </tfoot>
        <tr>
            <td><div>Long<br />cell<br />should'nt<br />be<br />cut</div></td>
        </tr>
        <tr>
            <td><div>Long<br />cell<br />should'nt<br />be<br />cut</div></td>
        </tr>
        <!-- 500 more rows -->
        <tr>
            <td>x</td>
        </tr>
    </tbody>
    </table></body></html>

看來page-break-inside:avoid在某些瀏覽器中,只考慮塊元素,而不考慮單元格、表、行和內聯塊。

如果你想display:block這個TR標記,并在那里使用page-break-inside:avoid,它能工作,但會亂搞你的桌子布局。




查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關注
  • 447 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號