問題:
打印功能(打印頁面),預覽界面第二頁頂部沒有間距
問題代碼:
<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
, border
和 background
等打印時需要的屬性可以使用, 其他屬性將直接忽略, 並且可以使用的屬性也只會在打印時生效, 顯示時不會生效(margin可以在預覽時看到,其他看不得,沒有使用打印機實測),並且不要用vh
、vm
單位。給@page
設置margin
可以在所有打印頁生效。如果想單獨設置第一頁等需要加僞類:
:first
打印文檔的時候,第一頁的樣式:left
對打印文檔的左側頁樣式:right
打印文檔的所有右頁
注意:(谷歌瀏覽器爲例)
- 實際打印效果用戶完全可以自己設置打印頁面間距
@page
設置margin
爲0時,默認沒有顯示是否顯示頁眉頁腳選項,邊距設置爲自定義時會顯示頁眉頁腳選項- 目前沒有發現顯示頁腳,並且去掉頁腳網址辦法(網上查的方法沒成功)