我正在製作一個可打印的HTML報告,它有一個「部分」應該在新頁面中開始。我可以強制在HTML打印中跳轉頁面嗎?
有沒有什麼辦法可以將HTML/CSS中的某些東西發送給瀏覽器,告訴它它需要跳轉到新頁面?
我不需要在每個瀏覽器中工作,我想我可以告訴人們使用一組特定的瀏覽器來打印它。
感謝
丹尼爾
我正在製作一個可打印的HTML報告,它有一個「部分」應該在新頁面中開始。我可以強制在HTML打印中跳轉頁面嗎?
有沒有什麼辦法可以將HTML/CSS中的某些東西發送給瀏覽器,告訴它它需要跳轉到新頁面?
我不需要在每個瀏覽器中工作,我想我可以告訴人們使用一組特定的瀏覽器來打印它。
感謝
丹尼爾
添加一個名爲CSS類 「分頁符」(或 「PB」),像這樣:
.pagebreak { page-break-before: always; } /* page-break-after works, as well */
然後添加你想要的一個空的DIV標籤(or any block element that generates a box)分頁符。
<div class="pagebreak"> </div>
它不會顯示在頁面上,但會打印時打亂頁面。
試試這個link
<style>
@media print
{
h1 {page-break-before:always}
}
</style>
我認爲這是一個更好的答案,因爲它不涉及改變HTML來實現視覺效果。 – FinnNk 2009-11-02 22:17:06
我其實更喜歡另一個,因爲它給了我更多的控制權。我總是可以將「pagebreak」類分配給應該使頁面跳轉的H1。但它仍然是一個很好的解決方案。 @media的+1,儘管屏幕應該忽略page-break-before,我想。謝謝! – 2009-11-02 22:24:47
h1是您可以用作打印中斷標記的示例。你可以用你喜歡的名字替換和標記名字。你也可以使用page-break-after:總是 – jfarrell 2009-11-02 23:09:14
您可以使用CSS屬性page-break-before
(或page-break-after
)。只需在應該從新行開始的那些塊級元素(例如,標題,div
,p
或table
元素)上設置page-break-before: always
。
例如,引起線路中斷任何二級標題之前和newpage
類中的任何元素之前(例如,<div class=newpage>
...),你會用
h2, .newpage { page-break-before: always }
@Chris Doggett非常有意義。 雖然我在lvsys.com上發現了一個有趣的技巧,它實際上可以在firefox和chrome上運行。只要將此評論放在任何想要插入分頁符的地方即可。您還可以用任何塊元素替換<p>
標籤。
<p><!-- pagebreak --></p>
這不起作用 – 2016-11-22 23:30:08
但是,像在CSS中一切美好的事物,這並不總是一致的全線工作,所以測試的生活一大跳吧,免得你有憤怒的用戶想知道的額外的空白頁,爲什麼你的網站打印樁! – Zoe 2009-11-02 22:17:49
根據MDN的說法,'page-break-after'適用於生成一個框的塊元素,因此使用一個空的''元素將不起作用。將它應用於您的內容是一個更好的主意。見https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after – nullability 2014-01-17 17:46:14
@nullability:好的。我主要在WinForms的WebBrowser控件中使用了這個功能,它使用IE,這是以下標準的黃金標準。 – 2014-01-17 19:25:07