【HTML】擬似要素で外部リンク(別タブ/別ウインドウ)のアイコンを付与する方法

こんにちは。
皆さんはHTMLで外部リンク(別タブ/別ウインドウ)アイコンを作成するときはどうしていますか?
※以下外部リンクで統一

何気に厄介なアイコンですが私のオススメの方法をご紹介いたします。

目次

HTML

まずはベースとなるHTMLです。
リンクになりますので<a>タグを使用します。

<a href="#" target="_blank">のらりくらり雑記ブログ</a>

こちらの`target=“_blank”`が外部リンクとして機能することとなります。
“#”は各自任意のリンクを指定してくださいね。

CSS

次にCSSですが、こちらになります。

a[target="_blank"] {
display: inline-block;
position: relative;
}

a[target="_blank"]::after {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -1em; // 位置調整したい場合はこちら
width: 1em;
height: 1em;
background-image: url("任意のアイコンimg");
background-size: contain;
background-repeat: no-repeat;
}

ポイントは直接`target=”_blank”`に指定していることです。
これによって付いた時のみ適応されるため、一度使うことで使い回すことができますね。

説明しますと、外部リンクアイコンはbackgroundにて敷いています。
そしてアイコンの大きさは擬似要素の大きさを1em(親の文字サイズ)で指定することで
文字と同じサイズにすることができます。
文字の大きさベースにしていますので文字サイズが変わってもそれに合わせてアイコンサイズも変わります。

Imageファイルとして使用するのはpngかsvg 特にsvgをおすすめします。
透過もできて背景にかぶりませんし、文字サイズが変わってもぼやけることがありません。

メンテナンスもしやすいと思いますので是非ご活用いただければと思います。

最新情報をチェックしよう!
>最強のWordPressテーマ「THE THOR」

最強のWordPressテーマ「THE THOR」

本当にブロガーさんやアフィリエイターさんのためになる日本一のテーマにしたいと思っていますので、些細なことでも気が付いたのであればご報告いただけると幸いです。ご要望も、バグ報告も喜んで承っております!

CTR IMG