【CSS】くの字型アイコンの作り方

CSSでくの字型アイコンを作る方法を紹介します。

矢印の代わりなど、何かと使う機会が多いです。

スポンサーリンク

右向きくの字型アイコン

<span class="arrow-right"></span>
.arrow-right {
  display: block;
  width: 18px;
  height: 18px;
  border-top: 4px solid #00d9ff;
  border-right: 4px solid #00d9ff;
  transform: rotate(45deg) translateX(-25%);
}

左向きくの字型アイコン

<span class="arrow-left"></span>
.arrow-left {
  display: block;
  width: 18px;
  height: 18px;
  width: 18px;
  height: 18px;
  border-left: 4px solid #00d9ff;
  border-bottom: 4px solid #00d9ff;
  transform: rotate(45deg);
}

上向きくの字型アイコン

<span class="arrow-top"></span>
.arrow-top {
  display: block;
  width: 18px;
  height: 18px;
  border-top: 4px solid #00d9ff;
  border-left: 4px solid #00d9ff;
  transform: rotate(45deg);
}

下向きくの字型アイコン

<span class="arrow-bottom"></span>
.arrow-bottom {
  display: block;
  width: 18px;
  height: 18px;
  border-bottom: 4px solid #00d9ff;
  border-right: 4px solid #00d9ff;
  transform: rotate(45deg);
}

カスタマイズ方法

サイズを調整したい場合は、 width と height の値を調整します。

また、線の太さや色を変更したい場合は、 border の値を調整します。

よくある質問(FAQ)

Q. CSSのborderを使った矢印アイコンの作り方を教えてください。
A. borderで正方形を描きrotateで回転させます:border-right: 2px solid #333; border-bottom: 2px solid #333; width: 10px; height: 10px; transform: rotate(-45deg);で右向き矢印になります(rotate角度で方向を変更)。
Q. CSSアニメーションで矢印の向きを切り替えるにはどうすればよいですか?
A. transformのrotateをtransitionでアニメーションします:.arrow { transition: transform 0.3s; }.arrow.open { transform: rotate(180deg); }でJSのclassList.toggleで.openを付け外しすると矢印が上下に切り替わります。アコーディオンメニューのインジケーターに便利です。
Q. Font AwesomeなどのアイコンフォントとCSSで作った矢印の使い分けはどうすればよいですか?
A. CSSで作る矢印は外部ライブラリ不要・HTMLに追加のタグが不要・色/サイズ変更がCSSだけでできます。Font Awesomeは豊富な種類・統一されたデザイン・実装が簡単ですがファイルサイズが大きいです。少数のアイコンだけ使う場合はCSSまたはSVGインラインが軽量です。