我在页面上有很多内容,我无法控制它在哪里中断。我在每个页面上使用 position:fixed
放置了一些内容作为页眉/页脚,但它与文本重叠。我尝试通过以下两种方式使用边距和填充来解决重叠问题。
当我使用@page 添加边距时
@page {
margin: 2cm;
}
正如它所说的那样,它适用于每一页,但我的页眉和页脚也从边距中消失了。
所以我尝试使用 body 标签添加边距
body {
margin: 2cm;
/* padding: 2cm; */
}
它的工作原理是在第一页上添加 2cm 上边距,在最后一页上添加 2cm 下边距。但不是在页面之间。
是否可以设置每页的边距/填充?
原文由 user2274195 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了完全相同的问题,经过大量搜索后,我发现了一篇有趣的文章,提供了一种组合解决方案,您可以 在此处 阅读该文章。
简而言之,它结合了两种方法:
使用
position: fixed
技术使用
thead tbody tfoot
如果您只使用第一种方法,您将面临重叠问题,同样,如果您仅使用第二种方法,页脚将粘在页面内容的底部,可能会在最后一页的开头结束,但组合两种方法都可以解决问题。
在这里你可以看到一个工作 演示。
为确保此解决方案正常工作,请尝试按
Print Me!
按钮打印它。您甚至可能需要在页脚中包含 页码,这也是由 CSS 完成的,您只需要添加以下 CSS:
在某些 文章 中它是
content: counter(page) " of " counter(pages);
,但在我的例子中pages
返回 0,所以我忽略了它,也许你可以通过使用 CSS var 来实现总页数().作为记录,如果您不想在打印前观察页眉和页脚,您可以添加以下 CSS:
2020 年更新:
似乎页码不再起作用了。