首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只打印页面的一部分?

问如何只打印页面的一部分?
EN

Stack Overflow用户
提问于 2008-10-22 00:38:53
回答 4查看 23.8K关注 0票数 17

在用户打印这个巨大的表单之前,我试图隐藏一些div,然后在之后再次显示div。因此,我想忽略页面的其余部分,只打印表单本身。

当然,当用户单击“打印”按钮时,我可以打开一个单独的页面。唯一的事情是,形式是真的很长,这将是相当乏味的。

编辑:我以前的问题并没有真正反映出我在寻找什么。所以我把它换成了现在的那个。

同时也要感谢所有这些建议window.onbeforeprint和window.onafterprint。这与我编辑过的问题有关。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-22 00:43:38

IE支持onbeforeprint和onafterprint,但真正需要的是打印样式表。

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" media="print" href="print.css">

另见:这个答案

票数 17
EN

Stack Overflow用户

发布于 2008-10-22 00:42:02

首先,确定的方式:

看看window.onbeforeprint和window.onafterprint (我相信,最初的问题是如何以编程的方式完成)。

现在,更好的方法是:

一个更好的方法是使用一种专门用于打印的样式。换句话说,您的div可能如下所示:

代码语言:javascript
复制
<div class="someClass noPrint">My Info</div>

然后,您将在样式表中包含以下内容:

代码语言:javascript
复制
.someClass {font-family:arial;}
@media print {
    .noPrint { display: none; }
} 

另一种选择

如果需要,还可以将其放在单独的样式表中,这样就不必混合样式:

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" media="print" href="print.css">

您的屏幕样式表可以以一种方式定义".someClass“,然后打印样式表可以用完全不同的方式定义它。

票数 28
EN

Stack Overflow用户

发布于 2008-10-22 00:43:10

您可能需要考虑创建一个样式表,专门用于使用Media=“打印”进行打印。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/224078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档