CSS

2021.02.19

【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)で作った線は、改行するテキストに追従することはできない

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

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

0

関連記事

  • 2021.05.14

    【CSS】backgroundで行う背景画像の複数指定

    CSS

  • 2021.05.11

    【おすすめ書籍】この本でゼロからWebサイト制作を学びました

    CSS

    HTML5

  • 2021.04.21

    【CSS】要素がはみ出てしまう時のチェック事項 / box-sizingの指定

    CSS

おすすめ記事

  • 2019.02.08

    【css】IEにobject-fitを簡単に効かせる方法

    CSS

  • 2019.03.15

    【WordPress】固定ページにページネーションを効かせる方法

    WordPress

  • 2021.04.05

    【jQuery】jQueryのみでPC/SPの画像を切り替える方法

    JavaScript

株式会社スピカデザイン

渋谷のWEB制作会社「スピカデザイン」の現役コーダー達が、WEB制作のヒントになるような情報をお届けします。

https://spiqa.design/

spiqa_design

質問・感想などはこちら!

REQUEST

ご意見、感想や記事のリクエストなど
メッセージお待ちしております!