CSSで三角形を作る方法を紹介します。
ちょっとしたアイコン等、何かと使用する機会は多いと思います。
サンプル1 上向き
HTML
<div class="triangle1"></div>
CSS
.triangle1 {
width: 0;
height: 0;
border-style: solid;
border-width: 0 50px 50px 50px;
border-color: transparent transparent #00d9ff transparent;
}
サンプル2 右向き
HTML
<div class="triangle1"></div>
CSS
.triangle2 {
width: 0;
height: 0;
border-style: solid;
border-width: 50px 0 50px 50px;
border-color: transparent transparent transparent #00d9ff;
}
サンプル3 下向き
HTML
<div class="triangle1"></div>
CSS
.triangle3 {
width: 0;
height: 0;
border-style: solid;
border-width: 50px 50px 0 50px;
border-color: #00d9ff transparent transparent transparent;
}
サンプル4 左向き
HTML
<div class="triangle1"></div>
CSS
.triangle4 {
width: 0;
height: 0;
border-style: solid;
border-width: 50px 50px 50px 0;
border-color: transparent #00d9ff transparent transparent;
}
よくある質問(FAQ)
border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 20px solid red;。反対側のborderをtransparentにして三角形の方向を決めます。clip-path: polygon(50% 0%, 0% 100%, 100% 100%)で上向き三角形が作れます。clip-pathはborder法より柔軟で、任意の多角形・丸みのある図形にも対応しています。アニメーションもスムーズです。ただし要素の実際のサイズはそのままで、見た目だけ三角形になります。clip-path: polygon(50% 0%, 0% 100%, 100% 100%); transition: clip-path 0.3s;でホバー時に別の形に変化させることができます。

