6

我尝试过使用CSS3@pagecounter(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(来自包管理器的最新版本)

有任何想法吗?

4

2 回答 2

1

浏览器对此的支持达不到标准。

Firefox 新版本支持@page {margin: 2in},但不支持@page 的其他参数。我相信其他浏览器也是如此。

于 2013-04-16T02:25:02.317 回答
0

您的文件应如下所示。请注意,页面计数器是特殊的,不需要设置和递增。

Firefox、webkit 和我认为歌剧也不支持 css3-pages 所以它不起作用。较新版本的 IE 也不会,尽管 MSDN 暗示它们会这样做。

<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8">
        <style type="text/css">
        @page {
          @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>
于 2013-07-11T14:31:19.003 回答