CSSのみでグラデーションの三角形を作る方法
はじめに
CSSのみでグラデーションの三角形を作る手順を紹介します。
仕上がりイメージ
目次
正方形を作る
まずはベースとなる正方形を作ります。
今回は60×60ピクセルの正方形を作ってみました。
HTML
<p class="test01"></p>
CSS
.test01 { width: 60px; height: 60px; background: #ccc; }
できあがったもの
ひとまず背景を単色background: #ccc;
で設定しましたが、背景色はグラデーションに変更します。
斜め方向のグラデーション背景を設定する
背景色を斜め方向のグラデーションにするには、background
の箇所を以下のように書き換えます。
HTMLは変更無いため割愛します。
CSS
.test01 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); }
できあがったもの
transparent 50%
で正方形の前半50%を透明にして、後半50%で白からグレーのグラデーションを作成しています。
正方形を回転させる
上記で作成した正方形をtransform:rotate(45deg)
で45度回転させると、右向きの三角形になります。
HTMLは変更無いため割愛します。
CSS
.test01 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); transform:rotate(45deg); }
できあがったもの
これで完成です。
transform:rotate(**deg);
の数値を調整すれば、上下左右向きのグラデーション背景の三角形を作ることができます。
CSS
.test01 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); transform:rotate(45deg); } .test02 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); transform:rotate(135deg); } .test03 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); transform:rotate(225deg); } .test04 { width: 60px; height: 60px; background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc); transform:rotate(315deg); }
できあがったもの
ただし、この方法では正三角形しか作れません。
余談ですが、単色塗りの三角形を作りたい時、CSS三角形作成ツールを私はよく利用しています。