Chromeで印刷するときにhref値を削除する必要がある


290

印刷CSSをカスタマイズしようとしていますが、href値だけでなくリンクも含まれるリンクが印刷されることがわかりました。

これはChromeにあります。

このHTMLの場合:

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

それは印刷します:

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

そして私はそれを印刷したいです:

Google

1
すべての主要なCSSフレームワークがそれを行う理由を覚えておいてください-紙をクリックすることはできません!したがって、非アクティブ化する場合は、リンクのリストを下部に追加する必要があります。たとえば、次のようにします。alistapart.com
article

1
それは事実ですが、リンクがいつ、どこに表示されるかを制御する方が良いと思います。たとえば、私のリンクでは、テキストの次の行に括弧なしで表示したいと考えています。そのため、テキストにURLを表示するだけです。
user405205​​4 2018年

回答:


602

ブートストラップは同じことを行います(...以下の選択した回答と同じです)。

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

そこから削除するか、独自の印刷スタイルシートでオーバーライドします。

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

17
<style>@media print{a[href]:after{content:none}}</style>このページに何度も戻ってきたときに自分のために投稿することをお勧めします。ありがとう
William Entriken

1
どうやら財団も同じことをしています。
spasticninja

以下のように見えるHTML5ボイラープレートは、また、これを行います!だから私は自分のウェブサイトのコード変更と他のウェブサイトのインスペクターを通してそれを上書きする必要があると思います...
ADTC

警告:印刷時にテーブルが最後の数行を失うことがあるという問題がありました。このルールが原因であることが判明したか、少なくともそれを削除すると問題が解決しました。それがなぜその効果をもたらしたのか分からない。
Henrik N

1
@HenrikN-それはフローティングブートストラップ列に関連していると思います。使用してfloat:none、必要に応じては、数週間前に私のために同様の問題を修正しましたところ 役立つかもしれませんが、それは別の問題です
Andrew

40

それはしません。印刷スタイルシートのどこかに、次のコードセクションが必要です。

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

他の唯一の可能性はあなたがあなたのためにそれをしている拡張を持っていることです。


1
Zurb Foundation CSSでそれを手に入れました。
forX 2016


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ブラウズではうまく機能しませんでした。


4

アンカーにネストされた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;
   }
}

それは完璧に働きました。

おまけのヒント印刷プレビューを確認する


1

ページの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;
   }
}

-2

通常のユーザー向け。現在のページの検査ウィンドウを開きます。次のように入力します:

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

そうすると、印刷プレビューにURLリンクが表示されなくなります。


これは、印刷しようとしているページのソースコードを制御できない場合に適したソリューションです。
Paddymac
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.