我有一个链接在我的网页打印网页。但是,在打印输出本身中也可以看到该链接。

是否有javascript或HTML代码,将隐藏链接按钮时,我点击打印链接?

例子:

 "Good Evening"
 Print (click Here To Print)

我想在打印文本“Good Evening”时隐藏这个“Print”标签。“打印”标签不应该显示在打印输出本身上。


当前回答

最佳实践是使用专门用于打印的样式表,并将其媒体属性设置为print。

在其中,显示/隐藏你想打印在纸上的元素。

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

其他回答

Bootstrap 3有自己的类,叫做:

hidden-print

它的定义如下:

@media print {
  .hidden-print {
    display: none !important;
  }
}

你不需要自己定义它。


在Bootstrap 4和Bootstrap5中,这已更改为:

.d-print-none

您可以将链接放在一个div中,然后在单击时在锚标记上使用JavaScript来隐藏div。示例(未测试,可能需要调整,但你知道的):

<div id="printOption">
    <a href="javascript:void();" 
       onclick="document.getElementById('printOption').style.visibility = 'hidden'; 
       document.print(); 
       return true;">
       Print
    </a>
</div>

缺点是,一旦点击,按钮就会消失,页面上也就失去了该选项(尽管总是有Ctrl+P)。

更好的解决方案是创建一个打印样式表,并在该样式表中指定printOption ID(或其他名称)的隐藏状态。您可以在HTML的头部部分执行此操作,并使用media属性指定第二个样式表。

最好的方法是创建页面的“仅打印”版本。

哦,等等…现在已经不是1999年了。使用带有“display: none”的打印CSS。

最佳实践是使用专门用于打印的样式表,并将其媒体属性设置为print。

在其中,显示/隐藏你想打印在纸上的元素。

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

这里有一个简单的解决办法 放这个CSS

@media print{
   .noprint{
       display:none;
   }
}

这是HTML

<div class="noprint">
    element that need to be hidden when printing
</div>