【问题标题】:How do I selectivly print elements on a page如何有选择地在页面上打印元素
【发布时间】:2010-08-30 07:42:02
【问题描述】:

我需要只打印页面的一部分。我不能使用 css(media=print) 来执行此操作,因为我不知道页面包含什么。页面中的所有html都是动态生成的。

在打印模式下识别的 css 属性也有任何限制。我的许多 CSS 属性(如 background-image)并未应用于生成的预览。

【问题讨论】:

  • 如果您不知道页面将包含什么内容,您如何知道要打印哪些元素?一种方法是使用 php 或其他服务器端脚本获取 html 内容,并使用 xml 解析器仅输出您要打印的部分。但是您必须了解要打印的内容。比如元素 ID 什么的。
  • :) 我知道需要打印什么...但我不知道页面还有什么。我不想给我的服务器增加负担。让我知道是否有任何方法可以通过 javascript 做到这一点

标签: asp.net css printing


【解决方案1】:

您可以动态创建 css 并在您的 html 文档中插入或切换(请参阅http://docs.jquery.com/Tutorials:5_Quick_jQuery_Tips#Switch_A_Stylesheet)。

你也可以定义类似的CSS

<style  type="text/css" media="screen">
    #printableButNotVisible { display:none }
    #visibleButNotPrintable { display:block }
</style>

<style type="text/css" media="print">
    #printableButNotVisible { display:block }
    #visibleButNotPrintable { display:none }
</style>

并动态添加类"printableButNotVisible""isibleButNotPrintable" 到所有需要可打印或可见的元素。例如,您可以针对 jQuery 执行此操作。

您也可以使用jqPrint 插件来打印页面的选定部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多