CSS - 如何计算总页数?

use*_*861 6 html css css-print

我正在尝试显示 PDF 文件的页数。

所以在标题中我放了这个css:

.page-number:after { 
  counter-increment: pages; 
  content: counter(page) " of " counter(pages); 
 }
Run Code Online (Sandbox Code Playgroud)

网址:

<span class="page-number">Page </span>
Run Code Online (Sandbox Code Playgroud)

但它返回我Page 1 of 1... Page 2 of 2。第一个计数器工作正常,但总数是错误的。我该如何解决?

Hid*_*bes 7

没有办法用 CSS 计数器获得计数器总数,所以我能想到的获得你需要的输出的唯一方法是复制 HTML(如果内容是动态生成的,这可能不是一个大问题)。输出一次 HTML 以获取页面总数,然后再次输出以获取当前页面。

#pageCounter {
  counter-reset: pageTotal;
}
#pageCounter span {
  counter-increment: pageTotal; 
}
#pageNumbers {
  counter-reset: currentPage;
}
#pageNumbers div:before { 
  counter-increment: currentPage; 
  content: "Page " counter(currentPage) " of "; 
}
#pageNumbers div:after { 
  content: counter(pageTotal); 
}
Run Code Online (Sandbox Code Playgroud)
<div id="pageCounter">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>
<div id="pageNumbers">
  <div class="page-number"></div>
  <div class="page-number"></div>
  <div class="page-number"></div>
  <div class="page-number"></div>
</div>
Run Code Online (Sandbox Code Playgroud)


Raj*_*Raj -3

.page{
counter-reset: page;
}
.page .page-number{
  display:block;
  }
.page .page-number:after{
counter-increment: page;
content:counter(page);
}
.page:after{
    display: block;
    content: "Number of pages: " counter(page);
}
Run Code Online (Sandbox Code Playgroud)
<div class="page">
<span class="page-number">Page </span>
<span class="page-number">Page </span>
<span class="page-number">Page </span>
<span class="page-number">Page </span>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 这没有解决问题 (7认同)