代码之家  ›  专栏  ›  技术社区  ›  Zachary Scott

用于打印网页的CSS代码是什么?

  •  9
  • Zachary Scott  · 技术社区  · 15 年前

    什么是在打印时进行分页符的CSS代码?或者更好的是,是否有一些像jquery这样的打印CSS框架用于网页DOM操作?我需要使用控件(如AdobePDF)打印网页,但不使用第三方插件。打印需要精确,比如控制每页顶部的像素(例如,如果我们想在每页的页眉上显示我们的徽标)。

    有什么想法吗?

    6 回复  |  直到 12 年前
        1
  •  15
  •   David Thomas    15 年前

    page-break-before: always;

    page-break-after: always;

        2
  •  5
  •   Pekka    15 年前

    您可以尝试使用 page-break-before or page-break-after 性质。

    像素完美的打印控制将非常,非常难以实现。例如,每个浏览器都添加了一个页脚和页眉部分,您不能影响它,只有用户可以关闭它。浏览器忽略背景图像,并倾向于根据需要设置页边距。

    关于如何为打印设置HTML样式的概要,这篇轰动的杂志文章可能提供一些提示: Printing the Web: Solutions and Techniques

        3
  •  3
  •   Pointy    15 年前

    浏览器对打印的支持至多是非常弱的。例如,让一个页面标题图像这样的东西工作将是相当困难的;我不知道有哪种浏览器甚至支持“@page”CSS声明,更不用说CSS3的运行内容功能了。

    另一方面,Flash碟式PDF工具包在将XHTML转换成PDF(特别是考虑到它是免费的)方面做了出色的工作。我们将它与FreeMarker一起用于模板“页面”,但它处理图像、运行页眉/页脚文本,甚至是文档内链接。

        4
  •  2
  •   Peter Brown    15 年前

    我不知道你用的是什么服务器语言,但我已经很成功了 wkhtmltopdf wicked_pdf 对于Ruby on Rails。

        5
  •  1
  •   Andrew    15 年前

    无法从浏览器获取像素级打印精度。您唯一的选择是PDF或类似的第三方文档格式。但是,如果您只想确保徽标位于页面顶部而不是下一个页面底部,则可以使用分页符before、分页符after属性

        6
  •  1
  •   Community CDub    12 年前

    w3schools.com有一个便利的 CSS Reference . 因为我们大多数人都不记得很多不常见的CSS属性,希望这对您有用。