色付きリンク(Colored links) v5.0.0新設
ホバー状態のあるカラー付きリンク。
※"v5.0.0"での変更はv5.0.0-alpha版、v5.0.0-beta版での変更も含みます。
※"v5.3.0"での変更はv5.3.0-alpha版での変更も含みます。
リンクの色(Link colors)v5.3.0クラス追加、実例から変更
.link-{themecolor}
クラスを使用して、リンクの色を強調する。.text-{color}
クラスとは異なり、これらのクラスには :hover
と :focus
状態がある。一部のリンクスタイルでは、比較的明るい前景色を使用しており、十分なコントラストを得るためには、暗い背景でのみ使用する必要がある。
.link-body-emphasis
は現在、カラーモードに適応する唯一のカラーリンク。これはv6が登場し、カラーモードに対応したテーマカラーをより徹底的に作り直すことができるようになるまで、特別なケースとして扱われる。それまでは、カスタム :hover
と :focus
スタイルを持つユニークで高コントラストなリンクカラー。しかも新しいリンクユーティリティに対応することに変わりはない。
リンク色の種類
Primary:.link-primary
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Secondary:.link-secondary
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Success:.link-success
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Danger:.link-danger
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Warning:.link-warning
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Info:.link-info
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
Light:.link-light
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
※色が見やすいようにライトモードでは背景色がつきます
Dark:.link-dark
文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
※色が見やすいようにダークモードでは背景色がつきます
強調文字カラー:.link-body-emphasis
v5.3.0追加文字色ユーティリティクラスの場合とリンクヘルパークラスの場合。
※デフォルトの場合(参考):クラスの設定がない場合。
設定例
<a href="#" class="text-primary">文字色ユーティリティクラス</a>の場合と<a href="#" class="link-primary">リンクヘルパークラス</a>の場合。
【設定】
<a>
タグに.link-{themecolor}
(上記の「リンク色の種類」から選択)を入れると、ホバーやフォーカス状態で濃いめに強調される{themecolor}
は、primary
,secondary
,success
,danger
,warning
,info
,light
,dark
,body-emphasis
のいずれかを選択
.visually-hidden
クラスで非表示にした追加テキストなどの代替手段を入れるように心がけて下さい。
リンクユーティリティと併用(Link utilities)v5.3.0新設
色付きリンクヘルパーは、リンクユーティリティでスタイルの変更もできる。
見本
設定例
Primaryの場合<p><a href="#" class="link-primary link-offset-2 link-underline-opacity-25 link-underline-opacity-100-hover">Primaryのリンク</a></p>
【設定】
.link-{property}-{value}(-hover)
(リンクユーティリティ)クラスとの併用も可
CSS v5.1.0追加、v5.3.0Sassから名称変更
Sassループ(Sass loops)
デフォルトの設定
scss/helpers/_colored-links.scss 内の設定// このSassのバグにより、全角の`RGBA()`関数を使用: https://github.com/sass/node-sass/issues/2251
@each $color, $value in $theme-colors {
.link-#{$color} {
color: RGBA(var(--#{$prefix}#{$color}-rgb, var(--#{$prefix}link-opacity, 1)));
text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1));
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
$hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1));
text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1));
}
}
}
}