浏览器对CSS页码的支持
所以我知道这个选项: 到目前为止,这似乎是将页码添加到打印版页面的最佳方式,但我无法在任何地方使用这种方式的任何变体。我已经在我的Windows7机器上试用了Chrome、Firefox和IE9。从一些链接来看,这可能在Prince XML等更专有的软件中得到支持。打印版本的web浏览器是否支持此功能 我试着制作一个空白html文件,并在头部将其添加到两个样式标记之间:浏览器对CSS页码的支持,css,printing,cross-browser,css-paged-media,Css,Printing,Cross Browser,Css Paged Media,所以我知道这个选项: 到目前为止,这似乎是将页码添加到打印版页面的最佳方式,但我无法在任何地方使用这种方式的任何变体。我已经在我的Windows7机器上试用了Chrome、Firefox和IE9。从一些链接来看,这可能在Prince XML等更专有的软件中得到支持。打印版本的web浏览器是否支持此功能 我试着制作一个空白html文件,并在头部将其添加到两个样式标记之间: @page { @bottom-right { content: counter(page) " of " cou
@page {
@bottom-right {
content: counter(page) " of " counter(pages);
}
}
我还简化了它,甚至只使用
内容:“TEXT”
来看看我能不能找到一些东西来展示。这在任何地方都受支持吗?“this”是指@页面
和@右下
标签,因为我已经多次将内容用于工作。这似乎不再有效。似乎它只工作了很短的时间,浏览器支持被删除强>
据英国《每日邮报》报道,计数器在使用前必须重置
您可以将起始编号设置为任何值,默认值为0
例如:
@page {
counter-increment: page;
counter-reset: page 1;
@top-right {
content: "Page " counter(page) " of " counter(pages);
}
}
。。。理论上。在现实世界中,只有PrinceXML支持这一点。不使用@page,但我已经获得了在Firefox 20中使用的纯CSS页码: 要打印,请右键单击结果框(右下角)并选择 此框架->打印框架 CSS是
#content {
display: table;
}
#pageFooter {
display: table-footer-group;
}
#pageFooter:after {
counter-increment: page;
content: counter(page);
}
HTML是
<div id="content">
<div id="pageFooter">Page </div>
multi-page content here...
</div>
页
多页内容在这里。。。
我也一直在尝试实现分页媒体,根据这个维基百科页面,我发现目前还没有浏览器支持边距框。难怪它不起作用
请参阅表格、语法和规则、空白框部分。页边距框是页面编号以及运行页眉和页脚所需的。实现这一点将节省我将印刷媒体转换为PDF的开销。通过Mozilla,()
这会在每个打印页面上放置页眉和页脚。这在Mozilla中效果很好,但在IE和Chrome中效果不太好
<!DOCTYPE html>
<html>
<head>
<title>Print sample</title>
<link rel="stylesheet" href="style4.css">
</head>
<body>
<h1>Section A</h1>
<p>This is the first section...</p>
<h1>Section B</h1>
<p>This is the second section...</p>
<div id="print-head">
Heading for paged media
</div>
<div id="print-foot">
Page:
</div>
</body>
</html>
如果您希望在Chrome/Chrome下打印时添加页码,一个简单的解决方案是使用 这个JS库将您的HTML/CSS剪切成页面,可以打印成书,您可以在浏览器中预览。它使
@页面
和大多数CSS3规范适用于Chrome
解决方案1(简单)如果您可以将视图剪切为页面,则可以打印
只需将他们的CDN添加到页面的标题
标记中:
<link href="path/to/file/interface.css" rel="stylesheet" type="text/css">
CSS使数字显示在div中:
.page-number{
content: counter(page)
}
该库还允许轻松管理页边距、页脚、页眉等
如果只想在打印时显示数字(和分页符),解决方案2(更复杂)
在这种情况下,您只需要在打印文档时应用Paged.js CDN。
我能想到的一种方法是添加一个print me
按钮,用于激发Javascript:
window.print()
启动导航器的打印提示chrome或firefox(可能也不支持IE9)不支持分页媒体。CSS3应该对分页媒体有一些支持,但我也没能让它正常工作。这可能就是答案。我一直在答案和教程中找到这一点,但找不到任何有效的实现。我想这是以后要记住的另一件事。分页媒体样式表显示可能还需要其他参数。如果一个网页上有多个“页面”,您如何声明一个页面?媒体查询是否有效?然后你可以在页面右下角的一个元素上使用
@media print
作为解决方法。回答最后一个问题:否。在任何主要浏览器中都不支持分页媒体边距框:这很好,但我仍然没有将其用于输出任何内容。您能否提供有关@page
标签的任何信息?这真的是为您显示的吗?不幸的是,Firefox不支持@page,但Chrome2.0+、IE 8.0+、Opera6.0+和Safari5.0+支持@page@page:first
仅在IE8+和Opera 9.2+中受支持。这是根据我得到的@page
页边距在FF中工作,但没有其他内容。这对我不起作用。。。它与任何浏览器兼容?在任何主流浏览器中都不支持分页媒体边距框。停止根据未执行的工作草案提供答案。请我也很好奇这是怎么被接受的,因为到今天为止,这个代码完全没有效果。请删除这个答案,因为这是一个不工作的情况。我浪费了很多时间,因为它的开头没有经过实时浏览器的测试,但它并不是真正的页脚。如果文本跨越多个页面,#pageFooter
将在最后一页的文本结尾下方结束。这是真的。不像@page完全工作一样好。我想有一种方法可能是在最后一个内容元素的末尾加上空格,将页脚向下推到最后一页。这种解决方案的浏览器支持什么?在使用Chrome、Opera和Safari的Mac上,表格页眉和页脚仅打印在表格的开头和结尾。Firefox会在每页上打印它们,但计数器(页面)只在第一次显示时才起作用。这对你有用吗?我只是做错了什么?我的直觉告诉我,计数器的实现与OL的内部行为有关,与打印/页面无关。这似乎是迄今为止最好的解决办法,如果你不想买王子:-)你有没有得到“计数器(页面)”的非零值(即:总页数)?这在Firefox中有效,这很好。但我还没有找到一种方法使其在Chrome(53)或IE(11)中有效。页眉和页脚打印在页面文本上:(无法找到如何创建空白。)
<div class="page-number"></div>
.page-number{
content: counter(page)
}