CSSで三角形を実装するにはaspect-ratioとclip-pathを使用するのが簡単 -CSS Triangle Shapes
...
CSSの三角形は、一昔前はborderで実装していたが、最近では2つのプロパティ(aspect-ratio, clip-path)で実装できる。
従来の実装方法
これまでのCSSだと、divなどの矩形にborderプロパティで太いボーダーを設定し、三角形の部分だけ残して使用していた。
.triangle{
width: 0;
height: 0;
border-top: 100px solid #ccc;
border-right: 100px solid transparent;
border-bottom: 100px solid transparent;
border-left: 100px solid transparent;
}
最近の実装方法
最近はaspect-ratioとclip-pathで実装できる。この実装方法はdiv要素だけでなく、img要素を含むあらゆる種類の要素で機能する。
- aspect-ratioで、三角形の形状を設定
- clip-pathの3点ポリゴンで、三角形の各頂点を設定
.triangle {
width: 180px;
aspect-ratio: 1/cos(30deg);
clip-path: polygon(50% 0,100% 100%,0 100%);
background: linear-gradient(45deg,#FA6900,#C02942);
}
【CSSで三角形を作成するジェネレータ】
https://css-generators.com/triangle-shapes/