【发布时间】:2010-09-20 20:25:01
【问题描述】:
在 CSS 中,使用:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
我可以在打印页面时在每页的顶部显示页码。这很好用。但是现在,我怎样才能使页码以 2 而不是 1 开头?我可以通过修改上面的 CSS 规则来做到这一点吗?
【问题讨论】:
在 CSS 中,使用:
@page { @top-right { content: "Page " counter(page) " of " counter(pages); } }
我可以在打印页面时在每页的顶部显示页码。这很好用。但是现在,我怎样才能使页码以 2 而不是 1 开头?我可以通过修改上面的 CSS 规则来做到这一点吗?
【问题讨论】:
不知道这是否有效,但你为什么不试试counter(page+1)?
【讨论】:
在玩了一会儿飞碟之后,我想 CSS 没有办法做到这一点(或者它是一个非常复杂的方法),因为“page”/“pages”似乎是内部 CSS 变量。也许 CSS 3 会变得更好,似乎有一个 calc() 函数,所以 counter(calc(page+1)) 可以也许工作......
但是还有另一种方法可以从第 2 页开始获取 PDF。您可以通过将此行添加到 xhtml 文件来为 PDF 添加空白的第一页:
<h1 style="page-break-before:always"></h1>
然后您可以在使用打印机时仅打印 PDF 的第 2-... 页,或者使用某些 PDF 编辑器从 PDF 中删除第一页。
【讨论】:
如果您使用的是飞碟(我的情况),请使用以下 CSS:
table { -fs-table-paginate: 分页; }
它就像一个魅力。和飞碟岩石:)。真的强烈推荐。
【讨论】:
你看过关于计数器的 CSS 文档吗? see here 在我看来,您可以调用计数器重置。默认情况下,计数器设置为 0。如果在您的 Body 标记中您执行了“内容重置:第 1 页;”那么它应该强制第一页从 2 而不是 1 开始。
【讨论】:
试试:
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
使用page 1 将重置计数器的起点。您可以使用任何整数开始计数。默认为0。
【讨论】:
为查看此页面的其他人发布此内容。您还可以查看下面提供的另一个 stackoverflow 帖子。这对我有用。
flying saucer - page count with css
.seq-start{
-fs-page-sequence: start;
}
【讨论】: