Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器对CSS页码的支持_Css_Printing_Cross Browser_Css Paged Media - Fatal编程技术网

浏览器对CSS页码的支持

浏览器对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

所以我知道这个选项:

到目前为止,这似乎是将页码添加到打印版页面的最佳方式,但我无法在任何地方使用这种方式的任何变体。我已经在我的Windows7机器上试用了Chrome、Firefox和IE9。从一些链接来看,这可能在Prince XML等更专有的软件中得到支持。打印版本的web浏览器是否支持此功能

我试着制作一个空白html文件,并在头部将其添加到两个样式标记之间:

@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:

  • 将CDN添加到页面
  • 然后执行
    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)
    }