読み込み中...

CSSで簡単!五角形矢印の作り方・使い方5選

CSSで作成された五角形矢印のイメージ CSS
この記事は約9分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

CSSで五角形矢印を作成する方法について、初心者向けに詳しく解説します。

この記事を読むことで、五角形矢印の作り方や使い方、応用例を身につけることができ、あなたのウェブサイトやデザインが一段と引き立つことでしょう。

●CSSで五角形矢印を作成する方法

CSSを使用して五角形矢印を作成する方法を、初心者向けに詳しく解説します。

○五角形矢印の基本的な作り方

まずは、五角形矢印の基本的な作り方を解説します。

下記のサンプルコードを用いて、基本的な五角形矢印を作成します。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSで五角形矢印を作る</title>
  <style>
    .arrow {
      width: 0;
      height: 0;
      border-left: 50px solid transparent;
      border-right: 50px solid transparent;
      border-bottom: 100px solid #f00;
    }
  </style>
</head>
<body>
  <div class="arrow"></div>
</body>
</html>

上記のサンプルコードでは、borderプロパティを利用して五角形矢印を作成しています。

矢印の向きや大きさは、borderプロパティの値を調整することで変更できます。

○横向きの五角形矢印の作り方

次に、横向きの五角形矢印の作り方を解説します。

基本的な作り方と同様、borderプロパティを利用して矢印を作成します。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSで横向きの五角形矢印を作る</title>
  <style>
    .arrow {
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 100px solid #f00;
    }
  </style>
</head>
<body>
  <div class="arrow"></div>
</body>
</html>

上記のサンプルコードでは、縦向きの矢印と同様にborderプロパティを使っていますが、今回はborder-leftを設定して横向きの五角形矢印を作成しています。

矢印の向きや大きさは、borderプロパティの値を調整することで変更できます。

○アニメーションを加えた五角形矢印の作り方

最後に、五角形矢印をアコーディオンメニューに応用する方法を解説します。

アコーディオンメニューは、クリックすると関連するコンテンツが表示・非表示されるUIデザインです。

下記のサンプルコードを使用して、アコーディオンメニューに矢印を追加します。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSでアニメーション付きの五角形矢印を作る</title>
  <style>
    .arrow {
      width: 0;
      height: 0;
      border-left: 50px solid transparent;
      border-right: 50px solid transparent;
      border-bottom: 100px solid #f00;
      animation: moveArrow 2s infinite;
    }

    @keyframes moveArrow {
      0% {
        transform: translateY(0);
      }
      50% {
        transform: translateY(20px);
      }
      100% {
        transform: translateY(0);
      }
    }
  </style>
</head>
<body>
  <div class="arrow"></div>
</body>
</html>

上記のサンプルコードでは、accordionクラスが付与された要素がクリックされると、隣接するcontentクラスが付与された要素が表示・非表示が切り替わります。

矢印は、::after疑似要素を使って作成し、accordion要素がアクティブ状態のときに矢印が下向きになるようにしています。

●五角形矢印をボタンに応用する方法

五角形矢印をボタンに応用する方法も解説します。

ここでは、矢印とテストを組み合わせて、クリック可能なボタンを作成します。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSで五角形矢印をボタンに応用する方法</title>
  <style>
    .button {
      display: inline-block;
      position: relative;
      padding: 10px 20px;
      background-color: #f00;
      color: #fff;
      text-decoration: none;
      font-size: 16px;
    }

    .button:after {
      content: '';
      position: absolute;
      top: 50%;
      right: -20px;
      width: 0;
      height: 0;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 20px solid #f00;
      transform: translateY(-50%);
    }
  </style>
</head>
<body>
  <a href="#" class="button">ボタンテキスト</a>
</body>
</html>

上記のサンプルコードでは、テキストと矢印を組み合わせたボタンを作成しています。

positionプロパティと::after疑似要素を使って、矢印をボタンの右端に配置しています。

●五角形矢印をアコーディオンメニューに応用する方法

最後に、五角形矢印をアコーディオンメニューに応用する方法を解説します。

アコーディオンメニューは、クリックすると関連するコンテンツが表示・非表示されるUIデザインです。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSSで五角形矢印をアコーディオンメニューに応用する方法</title>
  <style>
    .accordion {
      display: inline-block;
      cursor: pointer;
    }

    .accordion:after {
      content: '';
      display: inline-block;
      margin-left: 10px;
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 10px solid #333;
    }

    .accordion.active:after {
      border-top: none;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-bottom: 10px solid #333;
    }

    .content {
      display: none;
    }

    .content.active {
      display: block;
    }
  </style>
  <script>
    function toggleAccordion(element) {
      element.classList.toggle('active');
      var content = element.nextElementSibling;
      content.classList.toggle('active');
    }
  </script>
</head>
<body>
  <div class="accordion" onclick="toggleAccordion(this)">アコーディオン1</div>
  <div class="content">アコーディオン1の内容</div>
  <div class="accordion" onclick="toggleAccordion(this)">アコーディオン2</div>
  <div class="content">アコーディオン2の内容</div>
  <div class="accordion" onclick="toggleAccordion(this)">アコーディオン3</div>
  <div class="content">アコーディオン3の内容</div>
</body>
</html>

上記のサンプルコードでは、accordionクラスが付与された要素がクリックされると、隣接するcontentクラスが付与された要素が表示・非表示が切り替わります。

矢印は、::after疑似要素を使って作成し、accordion要素がアクティブ状態のときに矢印が下向きになるようにしています。

まとめ

これで、CSSで五角形矢印を作成し、応用する方法を初心者向けに詳しく解説しました。

矢印の向きや大きさ、アニメーション、ボタンやアコーディオンメニューへの応用など、幅広い知識が身についたことでしょう。