【发布时间】:2013-04-05 23:38:00
【问题描述】:
我尝试过使用 CSS3 的 @page 和 counter(page) 功能,但我看不到任何添加到打印输出的页码。不管我做什么,看起来这根本行不通。
我的脚手架是这样的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
</style>
<head>
<body>
<div>
Lorem ipsum dolor...
/* this gets long, 2 pages of text */
</div>
</body>
</html>
我对此进行测试的方式是在浏览器中打开页面,将其打印到 PDF 文件中,最后验证内容。在不同的浏览器中,输出有点不同,但我看不到正确的页码。
操作系统:Linux Mint
浏览器:Chromium 25.0.1364.160、Firefox 20.0.1、Opera(来自包管理器的最新版本)
有什么想法吗?
【问题讨论】:
-
您不需要从
@page声明中取出counter-reset: page 1吗?否则它会重置每一页的页码。 -
我将此样式移至
<body>,但这并没有帮助。top-right部分没有显示任何内容 -
如果您的浏览器支持 css3-pages,页面计数器会自动创建并递增,据我所知,它们都不支持。