个人网页上有一个连接能够打印该网页。 可是,该连接在打印输出自己中也是可见的。 javascript
单击打印连接时,是否存在会隐藏连接按钮的JavaScript或HTML代码? css
例: java
"Good Evening" Print (click Here To Print)
我要在打印文本“ Good Evening”时隐藏该“打印”标签。 “打印”标签不该显示在打印输出自己上。 ide
CSS文件 测试
@media print { #pager, form, .no-print { display: none !important; height: 0; } .no-print, .no-print *{ display: none !important; height: 0; } }
HTML标题 ui
<link href="/theme/css/ui/ui.print.css?version=x.x.x" media="print" rel="stylesheet" type="text/css" >
元件 spa
<div class="no-print"></div>
您能够将连接放置在div中,而后在锚点标记上使用JavaScript来在单击时隐藏div。 示例(未经测试,可能须要调整,但您明白了): code
<div id="printOption"> <a href="javascript:void();" onclick="document.getElementById('printOption').style.visibility = 'hidden'; document.print(); return true;"> Print </a> </div>
缺点是,一旦单击该按钮,该按钮就会消失,而且在页面上将丢失该选项(尽管始终为Ctrl + P)。 orm
更好的解决方案是建立一个打印样式表,并在该样式表中指定printOption
ID(或任何您称之为的名称)的隐藏状态。 您能够在HTML的开头部分执行此操做,并使用media属性指定第二个样式表。 ip
最佳实践是使用专门用于打印的样式表 ,并将其media
属性设置为print
。
在其中,显示/隐藏要在纸上打印的元素。
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
在样式表中添加:
@media print { .no-print, .no-print * { display: none !important; } }
而后在您不想显示在打印版本中的HTML中添加class='no-print'
(或将no-print类添加到现有的class语句中),例如按钮。
最好的办法是建立页面的“仅打印”版本。
哦,等等...这已经不是1999年了。 使用带有“显示:无”的打印CSS。