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インラインが軽量です。

