アイコンリンク
Bootstrapアイコンまたはその他のアイコンを使用して、スタイリッシュなハイパーリンクをすばやく作成します。
アイコンリンクヘルパーコンポーネントは、デフォルトのリンクスタイルを変更して外観を向上させ、アイコンとテキストのペアをすばやく配置します。配置は、インラインフレックスボックススタイリングとデフォルトのgap
値によって設定されます。カスタムオフセットとカラーを使用して下線をスタイリングします。アイコンは、関連付けられたテキストのfont-size
に最適に一致するように、自動的に1em
にサイズ変更されます。
アイコンリンクはBootstrapアイコンが使用されていることを前提としていますが、任意のアイコンまたは画像を使用できます。
aria-hidden="true"
を使用して支援技術から非表示にする必要があります。意味を伝えるアイコンの場合は、SVGにrole="img"
と適切なaria-label="..."
を追加することにより、適切な代替テキストを提供します。例
通常の<a>
要素を取得し、.icon-link
を追加して、リンクテキストの左右どちらかにアイコンを挿入します。アイコンは自動的にサイズ変更、配置、色付けされます。
<a class="icon-link" href="#">
<svg class="bi" aria-hidden="true"><use xlink:href="#box-seam"></use></svg>
Icon link
</a>
<a class="icon-link" href="#">
Icon link
<svg class="bi" aria-hidden="true"><use xlink:href="#arrow-right"></use></svg>
</a>
ホバー時のスタイル
ホバー時にアイコンを右に移動するには、.icon-link-hover
を追加します。
<a class="icon-link icon-link-hover" href="#">
Icon link
<svg class="bi" aria-hidden="true"><use xlink:href="#arrow-right"></use></svg>
</a>
カスタマイズ
リンクCSS変数、Sass変数、ユーティリティ、またはカスタムスタイルを使用して、アイコンリンクのスタイリングを変更します。
CSS変数
デフォルトの外観を変更するには、必要に応じて--bs-link-*
および--bs-icon-link-*
CSS変数を変更します。
--bs-icon-link-transform
CSS変数をオーバーライドすることにより、ホバーtransform
をカスタマイズします
<a class="icon-link icon-link-hover" style="--bs-icon-link-transform: translate3d(0, -.125rem, 0);" href="#">
<svg class="bi" aria-hidden="true"><use xlink:href="#clipboard"></use></svg>
Icon link
</a>
--bs-link-*
CSS変数をオーバーライドすることにより、色をカスタマイズします
<a class="icon-link icon-link-hover" style="--bs-link-hover-color-rgb: 25, 135, 84;" href="#">
Icon link
<svg class="bi" aria-hidden="true"><use xlink:href="#arrow-right"></use></svg>
</a>
Sass変数
Bootstrapを搭載したプロジェクト全体のすべてのアイコンリンクスタイルを変更するには、アイコンリンクSass変数をカスタマイズします。
$icon-link-gap: .375rem;
$icon-link-underline-offset: .25em;
$icon-link-icon-size: 1em;
$icon-link-icon-transition: .2s ease-in-out transform;
$icon-link-icon-transform: translate3d(.25em, 0, 0);
SassユーティリティAPI
下線の色とオフセットを変更するためのリンクユーティリティを使用して、アイコンリンクを変更します。
<a class="icon-link icon-link-hover link-success link-underline-success link-underline-opacity-25" href="#">
Icon link
<svg class="bi" aria-hidden="true"><use xlink:href="#arrow-right"></use></svg>
</a>