その他

2021.02.18

【CSS】角丸線をつくるには?borderの端を丸くする方法

borderの角を丸くするのは、「border-radius」というCSSプロパティを使用することで可能です。

しかし、テキストに下線として引いたborderの端を丸くするには…?

今回はborderの端を丸くする方法をご紹介します。

border-radiusではborderの端を丸くできない

borderの線の端を丸くするのは、「border-radius」では実現できません。

試しにテキストにborder-bottomを指定し下線を引き、border-radiusを指定してみました。

まずは、「テキスト1」をご覧ください。

See the Pen borderの端を丸くする(失敗例) by spiqa design (@spiqa_design) on CodePen.

下側しか丸くなりません。

この場合、spanタグの四方が丸くなるため、spanタグの上端が丸くなっています。

「テキスト2」はborder-bottomだけでなく、四方を指定しました。spanタグの四方が丸くなっているのがわかりますね。

「border-bottomの四方を丸くする」という指定はできないのです。

疑似要素(before, after)で下線を表示させる

解決策としては、疑似要素(before, after)を使用して下線を表示させます。

See the Pen borderの端を丸くする by spiqa design (@spiqa_design) on CodePen.

これはborderに見せかけてborderではなく、widthとheightで長方形を作り、背景色を敷いたものです。

heightのpx数を短く、widthのpx数を長く指定することで、横線をつくります。

作ったborderを、position: absoluteでテキスト下部に配置させて完成です。

角丸線を応用したデザイン

See the Pen qBqrqLv by spiqa design (@spiqa_design) on CodePen.

見出しでよく見る、左側にバーがついているデザインです。

縦線を作る場合は、heightを長く、widthを短くします。

上記コードでは、height: 100%;、width: 5pxに指定しています。

線の端が丸いだけで、かわいくポップな印象になりますね!

疑似要素(before, after)で作った下線は改行に対応できない

この疑似要素(before, after)で作った下線ですが、改行には対応できません。

以下コードをご覧ください。

See the Pen 下線を丸くする by spiqa design (@spiqa_design) on CodePen.

改行させたテキスト下に線は追従せず、一番下にあるのみです。

改行させない見出しなど、ここぞという時に使うのにおすすめです。

まとめ

  • border-radiusでは線の端を丸くすることはできない
  • 疑似要素(before, after)で線を作ることで線端を丸くすることができる
  • 疑似要素(before, after)で作った線は、改行するテキストに追従することはできない

かんたんにできそうなですが、意外に一手間必要なデザインです。

ポップなデザイン、かわいいデザインなどに使ってみてください!

この記事をシェアする

関連記事

  • 2024.03.22

    Webデザインにおけるアニメーションについて考えてみた〜実例編〜

    その他

  • 2024.03.12

    Webデザインにおけるアニメーションについて考えてみた〜メリット・デメリット編〜

    その他

  • 2024.02.02

    Webデザインにおけるアニメーションについて考えてみた〜目的編〜

    その他

おすすめ記事

  • stacking_context

    2020.12.23

    【CSS】z-index / スタッキングコンテキストとは?

    その他

  • 2020.11.21

    【超簡単】jQueryとCSSでアコーディオンを実装する方法

    その他

  • 2021.03.11

    【勝手にWEBサイトレビュー #17】ユニークなデザインが魅力!ロンドンを拠点とするクリエイティブスタジオのWeb……

    その他

TAG

×