边距在第二页上不起作用

Posted

技术标签:

【中文标题】边距在第二页上不起作用【英文标题】:Margin not working on the second page 【发布时间】:2017-07-11 14:11:44 【问题描述】:

我有一个显示公司规则的网站。它有多个章节、标题、副标题和内容。我想制作一个可打印的版本,如下所示:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
<style type="text/css">
   @media screen 
    header.onlyprint, footer.onlyprint
        display: none; /* Hide from screen */
    `enter code here`


@media print 
    header.onlyprint 
        position: fixed; /* Display only on print page (each) */
        top: 0; /* Because it's header */
    
    footer.onlyprint 
        position: fixed;
        bottom: 0; /* Because it's footer */
    

</style>
</head>
<body>
<header class="onlyprint">header</header>
<!--long text-->
<footer class="onlyprint">footer</footer>
</body>
</html>

这使我可以在每一页上显示标题。问题是, - 因为内容就像一个大块 - 如果我设置一个 margin-top,在第一页上它可以工作,但在第二页上,文本的延续直接从顶部开始,并且标题重叠它.我看到其他一些有同样问题的帖子,但答案总是他们应该把内容切碎。对我来说,那不是选项,因为公司有很多规则,页面只显示给定的规则。对不起我的英语,希望你明白我的问题是什么

【问题讨论】:

【参考方案1】:

尝试将页边距添加到页面本身:

@page 
    margin: 50px 0;

【讨论】:

只在首页有效。 刷新所有缓存?也许它被缓存了。 是的。我使用与上面编写的相同的代码进行测试,使用lipsum来模拟内容。

以上是关于边距在第二页上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

放大的弹出窗口在数据表的第二页上不起作用

悬停时弹出窗口在数据表的第二页上不起作用

第二页的上边距不起作用 - Laravel DOMPDF

在 DataTables 的第二页中添加行后,操作事件不起作用

为啥 onclick 在 Rails4 和 coffeescript 中的 turbolinks 的第二页请求上不起作用?

Div 的边距在 Internet Explorer 中不起作用