我的頁面上有很多內容,但我無法控制它在哪裡中斷。我在每個頁面上使用 position:fixed
作為頁首/頁腳放置了一些內容,但它與文字重疊。我嘗試透過以下兩種方式使用邊距和填充來解決重疊問題。
當我使用@page新增邊距時
@page { margin: 2cm; }
正如它所說,它適用於每個頁面,但我的頁首和頁腳也從邊距中消失了。
所以我嘗試使用 body 標籤來新增邊距
body { margin: 2cm; /* padding: 2cm; */ }
它的工作原理是在第一頁上添加 2 公分的上邊距,在最後一頁上添加 2 公分的下邊距。但不在頁面之間。
是否可以設定每頁的邊距/填滿?
我遇到了完全相同的問題,經過大量搜尋後,我發現了一篇有趣的文章,提供了一個組合解決方案,您可以閱讀這裡。
簡而言之,它結合了兩種方法:
使用
位置:固定
技術使用
thead tbody tfoot
#如果您只使用第一種方法,您將面臨重疊問題,同樣,如果您只使用第二種方法,頁腳將粘在頁面內容的底部,可能會在最後一頁的開頭結束,但是結合這兩種方法可以解決問題。
在這裡您可以看到一個有效的演示。
為確保此解決方案正常運作,請嘗試按下
Print Me!
按鈕進行列印。您甚至可能需要在頁腳中添加頁碼,這也是由CSS完成的,您只需要添加以下 CSS:
在某些文章中,它是
內容: counter(page) " of " counter(pages);
,但是在我的範例中,pages
無緣無故一直回傳0,所以我忽略了它,也許你可以實現計數使用CSS var() 計算總頁數。鄭重聲明,如果您不想在列印前觀察頁首和頁腳,可以添加以下 CSS:
2020 年更新:
頁碼似乎不再運作了。