疑似要素にも下線がついてしまう時の対処法【CSS】

最終更新日:

公開日:2024-07-31

記事内に広告が含まれています。
疑似要素にも下線がついてしまう時の対処法【CSS】

先日CSS疑似要素の::beforeと::afterの使い方と正しい書き方【CSS】で解説した疑似要素::before::after
リンクやテキストにtext-decorationで下線をつけると、疑似要素にも下線がついてしまう場合があります。そんな時の対処法を紹介していきます。

疑似要素にも下線がついてしまった例

リンクやテキストにtext-decorationで下線を設定した際に、以下のように疑似要素にも下線がついてしまった事はありませんか?
※例としてテキストの前にbeforeで「●」を追加

<p>疑似要素にも下線がついてしまった例</p>
p {
    text-decoration: underline;
}
p::before {
    content: ●;
    padding-right: 1em;
}

疑似要素にも下線がついてしまった例

疑似要素にも下線がついてしまう場合の対処法

先程の、疑似要素にも下線がついてしまう場合の対処法として以下の2つを紹介します。

疑似要素のdisplayをinline-blockに変更する

疑似要素のdisplayinline-blockに変更する事で、疑似要素に下線が付かなくなります。

p {
    text-decoration: underline;
}
p::before {
    content: ●;
    display: inline-block;
    padding-right: 1em;
}

疑似要素のdisplayをinline-blockに変更した例

親要素に疑似要素、子要素にtext-decoration

タイトル通り、親要素に疑似要素、子要素に下線で分けるやり方です。

<p><span>親要素に疑似要素、子要素にtext-decoration</span></p>
p::before {
    content: "●";
    padding-right: 1em;
}
p span {
    text-decoration: underline;
}

親要素に疑似要素、子要素にtext-decoration

以上が疑似要素にも下線がついてしまう時の対処法となりますが、個人的には疑似要素のdisplayinline-blockに変更する方が、余計なHTMLも追加にならないので良いかと思います。

さいごに

いかがでしたでしょうか。
意図せず下線が付いてしまって、対応に時間がかかってしまう場合がありますので、対処法を覚えておく事でスムーズにコーディングが出来るかと思います。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼
PAGE TOP