CSSでテキストに下線をつける場合、基本的には以下のようにtext-decorationを使って設定する。
.underline {
line-height: 2.4;
text-decoration: underline;
}
text-decorationで設定する下線は上記のように、テキストのみにスタイルが適用されるが、行全体に下線を付けたいケースがある。
今回は以下のようなスタイルを適用するためのCSSコードを紹介する。
こちらのコードが該当のCSSで、簡単に解説すると、まず下線をbackground-imageで設定するところがポイント。
.underline {
line-height: 2.4;
background-image: linear-gradient(180deg, rgba(204,204,204,0) 0%, rgba(204,204,204,0) 97%, #000 100%);
background-repeat: repeat-y;
background-size: 100% 2.4em;
}
background-imageにlinear-gradientを設定しているのだが、3行目の「97%」を「0%」に設定してみると以下のようなグラデーションが背景に適用される。
これを利用し、下線に当たる下部以外を透過させるため「97%」に指定する。
あとは、line-heightとbackground-sizeに同じ値を設定し、好みの高さに調整すればOKだ。