301

我正在尝试自定义打印 CSS,并发现它打印出带有href值和链接的链接。

这是在 Chrome 中。

对于这个 HTML:

<a href="http://www.google.com">Google</a>

它打印:

Google (http://www.google.com)

我希望它打印:

Google
4

7 回答 7

612

Bootstrap 做同样的事情(...作为下面选择的答案)。

@media print {
  a[href]:after {
    content: " (" attr(href) ")";
  }
}

只需从那里删除它,或在您自己的打印样式表中覆盖它:

@media print {
  a[href]:after {
    content: none !important;
  }
}
于 2013-02-18T07:08:26.890 回答
41

它没有。在您的打印样式表的某处,您必须有这部分代码:

a[href]::after {
    content: " (" attr(href) ")"
}

唯一的另一种可能性是你有一个扩展为你做这件事。

于 2011-09-04T20:46:59.560 回答
28

@media print {
   a[href]:after {
      display: none;
      visibility: hidden;
   }
}

工作很完美。

于 2018-02-10T15:35:01.790 回答
10

如果您使用以下 CSS

<link href="~/Content/common/bootstrap.css" rel="stylesheet" type="text/css"    />
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/common/site.css" rel="stylesheet" type="text/css" />

只需通过添加media="screen"将其更改为以下样式

<link href="~/Content/common/bootstrap.css" rel="stylesheet" **media="screen"** type="text/css" />
<link href="~/Content/common/bootstrap.min.css" rel="stylesheet" **media="screen"** type="text/css" />
<link href="~/Content/common/site.css" rel="stylesheet" **media="screen"** type="text/css" />

我认为它会起作用。

以前的答案像

    @media print {
  a[href]:after {
    content: none !important;
  }
}

在 chrome 浏览器中效果不佳。

于 2016-11-17T00:53:33.643 回答
5

我仅在锚点中使用嵌套的 img 时遇到了类似的问题:

<a href="some/link">
   <img src="some/src">
</a>

我申请的时候

@media print {
   a[href]:after {
      content: none !important;
   }
}

由于某种原因,我丢失了 img 和整个锚点宽度,所以我使用了:

@media print {
   a[href]:after {
      visibility: hidden;
   }
}

效果很好。

额外提示检查打印预览

于 2017-09-25T16:29:41.347 回答
2

隐藏页面 url。

media="print"在样式标签示例中使用:

<style type="text/css" media="print">
            @page {
                size: auto;   /* auto is the initial value */
                margin: 0;  /* this affects the margin in the printer settings */
            }
            @page { size: portrait; }
</style>

如果要删除链接:

@media print {
   a[href]:after {
      visibility: hidden !important;
   }
}
于 2019-12-17T23:00:10.543 回答
0

对于普通用户。打开当前页面的检查窗口。并输入:

l = document.getElementsByTagName("a");
for (var i =0; i<l.length; i++) {
    l[i].href = "";
}

然后您将不会在打印预览中看到 url 链接。

于 2018-01-30T07:50:25.287 回答