2013-05-17 69 views
0

我有一個包含DIV的頁面。這個div是其他元素的容器,可以在打印時增加高度大於頁面的高度。DIV未打印分頁

我認爲它會分頁沒有任何問題。我看到的問題是DIV的高度增加到第1頁的整個高度,那就是了。打印輸出的第1頁以外不再顯示。

經過一番試驗,我發現display: inline似乎解決了這個問題。我不懂爲什麼。

如果這確實是解決問題的辦法,有人可以解釋爲什麼這解決了我的問題。

我想了解這項工作的原因。

+0

只是想知道 - 我測試過打印一個長格與內容以及 - 顯示屬性是否真的改變了那麼多?我的意思是,在我的網頁上,內容被自動放置在多個頁面上,而我不必修復任何定位...... – Tyblitz

+0

它可能與顯示屬性組合在一起。正如我所說,我確實希望它是自動的。另外 - 任何想法如何打印水平和垂直分頁的大型表格? :) – psynnott

回答

1

@你的評論:你在正確的時間提出正確的問題,因爲我目前的工作完全一樣! :)我會分享一些截圖來顯示結果;我認爲打印一個非常大的表格需要一個非常複雜的解決方案,但是對於我的表格來說它工作正常(我稱之爲「中等」)。

在我的應用程序中有一個容器div中的表格,其中的塊元素的顯示設置爲表格單元格(使用浮動和邊距時列寬不一致)。

1.頁面在正常的WebView

The page in normal webview

2.把打印媒體查詢的樣式表,打印後的頁面:(不介意暗格,這是一個面具我還沒有刪除)正如你可以看到表格經過多個頁面,並水平縮放以適合。

@media print { 
#data {overflow: visible; height: auto;} /* the container div */ 
.bld {display: block} /* the blocks you see in the table, web display: table-cell */ 
/* I tested all table{ display: inline, inline-table, and table } and they 
all worked for me, as displayed in the screenshot below */ 
} 

The page in print

打印到一定DIV(也許行),我將把你這個職位,因爲我還沒有嘗試過自己還,但可能是3.To集pagebreaks值得閱讀: Make divs on a page print on seperate pages when printed

另一個黑客將某個位置,一個div X行的第一列裏面,然後將這個div的CSS page-break-after: always;迫使那些行分頁符。我在tr,td和表格上測試了一些分頁內容,但它不起作用(因爲tr的樣式與其他HTML元素有所不同)

4.作爲不同顯示值之間差異的參考: https://stackoverflow.com/questions/15130285/css-differences-between-style-display-inline-inline-table-and-table

如果您發現有關此主題的其他內容有趣,請在評論中張貼@,謝謝!

+0

哇,非常感謝 - 那裏有很多信息需要我花時間去消化和閱讀鏈接的帖子。再次感謝 – psynnott