2012-08-31 518 views
4

我有一个包含管理信息的基于XHTML的页面。管理员应该能够打印该页面,但我希望它能隐藏他们的信息。打印页面时隐藏HTML div

打印页面时是否有设置打印区域的方法,或者是单击“打印”按钮时打开没有管理信息的辅助页面的唯一可行解决方案?

谢谢!

回答

21

试试这个:

<style type="text/css" media="print"> 
.dontprint 
{ display: none; } 
</style> 

<div class="dontprint">I'm only visible on the screen</div> 
+1

美丽!谢谢! – steeped

+0

这是一个伟大而简单的方法来做到这一点,但它不能在IE8上工作!... – TheCuBeMan

+1

但是从一般的浏览器视图来看,elelmnt也完全消失。如何使它在网站上可见,但是当我想打印这个让打印机忽略它而不重定向到其他网站? – arrowman

5

添加print.css到你的页面中,您可以隐藏所有你不想要的元素要打印

<link rel="stylesheet" href="print.css" type="text/css" media="print" /> 

媒体=“打印”属性告诉浏览器使用特定的CSS文件。

在该文件中,你可以有

.admindetails{ 
    display:none; 
} 
8

您可以使用该分区的CSS设置为display: none如下:

@media print { 
    div.do-not-print {display: none;} 
} 

它会正常显示,但是当你去打印,它将使用该CSS类。

1

,当然,你可以添加不同势样式表进行打印,请参见下面的例子

<link href="print.css" rel="stylesheet" type="text/css" media="print" /> 

或退出样式表,你可以添加媒体查询

@media print { 
    .no-print {display: none;} 
} 

并添加.no-print类,您不想打印HTML元素