2010-04-02 64 views
0

我有一張發票,其中包含超過100行的產品,我嘗試打印。此單張發票應占用3頁,但打印時,內容從頁腳流出,下一頁是以下發票。在一頁上打印多頁發票

我使用的是divs而不是表格,我不明白爲什麼長期的發票不會打印在多個頁面上。

任何想法?

這裏是我的樣式表:

h1,h2,h3 { margin: 0 0 0.5em 0; padding: 0;} 
body { font-family: sans-serif; font-size: 0.8em; } 
label, legend { font-weight: bold; } 
pre { font-family: sans-serif; } 

shipping_address { 
    width: 45%; 
} 

billing_address { 
    width: 45%; 
} 

order_info { 
    padding: 0 10px; 
} 

shipping_logo { 
    width: 115px; 
} 

content { 
    margin: 0px auto 0px auto; 
    width: 100%; 
    padding-bottom:15px; 
} 

div.container { 
    display: table; 
    width: 100%; 
} 
div.header { 
    display: table-row; 
    text-align: center; 
} 
div.row { 
    display: table-row; 
} 

.even { 
    background: #CCCCCC none repeat scroll 0 0; 
} 

div.cell { 
    display: table-cell; 
    padding: 0 10px; 
} 

回答

0

我們將需要比你建議要真正解決這個問題有什麼更多的信息。

然而,如果你設置了一些高度爲100%的東西,無論是表格,div還是其他東西,那麼一個非常盲目的東西會導致類似的行爲。有時候會嘗試在瀏覽器窗口的底部保留頁腳,如果這樣做,打印時可能會導致此問題。

2

您可能想指定特定樣式表進行打印。例如,

@media all 
{ 
.page-break { display:none; } 
} 

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

然後,您可以將頁面中斷類應用到要分頁的位置。 This article有幾個整潔的技巧來格式化打印頁面。

+0

列出的樣式表是打印樣式表 – ryan 2010-04-02 01:24:54

+0

也許您可以在div.header類中添加page-break-before:left。這樣你可以在每個標題後面得到一個新的頁面。 – 2010-04-02 02:30:14