打印頁邊距問題

問題:

打印功能(打印頁面),預覽界面第二頁頂部沒有間距

問題代碼:

<style type="text/css" media="print">
@page {
    size: auto;  
    margin: 0mm;
}
.print-page {/* 頁面盒子樣式類 */
    position: absolute;
    width: 1000px;
    left: 0;
    top: 0;
    bottom: 0;
    padding: 40px 50px;
    margin: auto;
}
...
</style>

修改:

<style type="text/css" media="print">
@page {
    size: auto;  
    margin: 40px 50px;
}
.print-page {/* 頁面盒子樣式類 */
    position: absolute;
    width: 1000px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
...
</style>

當頁面內容超過一頁打印紙時,盒子的樣式中的內邊距無法影響到第二頁頂部,因此第二頁會出現內容貼頂打印效果。

@page用於修改打印頁的樣式,考慮兼容性可以修改的非常少。僅僅 margin, padding, borderbackground 等打印時需要的屬性可以使用, 其他屬性將直接忽略, 並且可以使用的屬性也只會在打印時生效, 顯示時不會生效(margin可以在預覽時看到,其他看不得,沒有使用打印機實測),並且不要用vhvm單位。給@page設置margin可以在所有打印頁生效。如果想單獨設置第一頁等需要加僞類:

  • :first打印文檔的時候,第一頁的樣式
  • :left對打印文檔的左側頁樣式
  • :right打印文檔的所有右頁

注意:(谷歌瀏覽器爲例)

  • 實際打印效果用戶完全可以自己設置打印頁面間距
  • @page設置margin爲0時,默認沒有顯示是否顯示頁眉頁腳選項,邊距設置爲自定義時會顯示頁眉頁腳選項
  • 目前沒有發現顯示頁腳,並且去掉頁腳網址辦法(網上查的方法沒成功)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章