CSS三角形ジェネレーター|8方向・内枠・くり抜き対応(clip-path)

CSSの三角形を8方向(▲▼◀▶◤◥◢◣)から選んで生成。幅・高さ・色に加え、三角形の内側に作る「内枠」や、内側を透明にくり抜いた三角形にも対応。clip-pathのコードをコピーするだけで使えます。

 使い方

▼三角形を設定してください

三角形の設定  リセット

内枠(三角形の内側に作る枠)

内枠は三角形の内側に作られるため、外形サイズは変わりません
(▲が△になっても大きさは同じ)。

▼プレビュー
背景:

▼CSSコード

 CSSをコピー HTMLをコピー


使い方

三角形の向きを8方向から選び、幅・高さ・色を指定すると、右側にプレビューとCSSコードが表示されます。コードをコピーして、そのまま使えます。生成されるCSSは clip-path ベースです。

📐 内枠について

一般的な「枠線」は要素の外側に太さが足されるため、枠をつけると図形が大きくなってしまいます。このツールの内枠は三角形の内側に作られるので、外形サイズが変わりません。▲を△(線だけの三角形)にしても、指定した幅・高さのままです。

内枠の三角形は「全辺から垂直に指定した太さぶん内側」に縮めた相似形です。内接円の半径が r から r - t になるので、縮小率は k = 1 - t / r。この r は三角形の形で変わるため、ツール側で自動計算しています。

🔧 CSS変数で太さを管理する

「太さをCSS変数で出力する」をONにすると、内枠の太さが --border-width にまとまり、1箇所を書き換えるだけで太さを変更できます。引き算する量は var(--border-width) * 係数 の形で出力されます。

この係数(W / r)はアスペクト比だけで決まり、絶対サイズに依存しません。そのため、生成したCSSの width: 240pxwidth: 50% のような可変値に書き換えても、比率さえ保てば係数はそのまま使えます。二等辺三角形(▲▼◀▶)の中央寄せも 50%transform で出力しているので、幅の差し替えに追従します。

🔳 内側を透明にする(くり抜き)

「内側を透明にする」をONにすると、線だけの三角形(内側が背景の透ける三角形)になります。要素を2つ重ねて内側を白く塗る方式では、背景が画像やグラデーションのときに白い三角形が浮いてしまいますが、この方式なら本当に穴が開くので、どんな背景の上でも使えます。

仕組みは clip-path: polygon(evenodd, …) です。外周と内周を一筆書きでつなぎ、偶奇規則(evenodd)で内側を塗らないようにしています。要素は1つで済みます。

💡 clip-path と border の使い分け
観点clip-path(このツール)border(従来手法)
幅の指定% が使え、親幅に追従できるpx / vw のみ
背景グラデーション・画像も使える単色のみ
アニメーション頂点を動かせる苦手
くり抜きevenodd で穴を開けられる不可(内側を塗るだけ)
対応環境IE非対応(現状ほぼ問題なし)ほぼ全て(HTMLメール等)

面を塗るなら clip-path、フキダシの尻尾のように縁取りのある小さな三角形や、HTMLメールなど clip-path が使えない場面では border が有利です。