CSSのみでグラデーションの三角形を作る方法

はじめに

CSSのみでグラデーションの三角形を作る手順を紹介します。

仕上がりイメージ

目次

正方形を作る

まずはベースとなる正方形を作ります。

今回は60×60ピクセルの正方形を作ってみました。

HTML

  1. <p class="test01"></p>

CSS

  1. .test01 {
  2.  width: 60px;
  3.  height: 60px;
  4.  background: #ccc;
  5. }

できあがったもの

ひとまず背景を単色background: #ccc;で設定しましたが、背景色はグラデーションに変更します。

斜め方向のグラデーション背景を設定する

背景色を斜め方向のグラデーションにするには、backgroundの箇所を以下のように書き換えます。

HTMLは変更無いため割愛します。

CSS

  1. .test01 {
  2.  width: 60px;
  3.  height: 60px;
  4.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  5. }

できあがったもの

transparent 50%で正方形の前半50%を透明にして、後半50%で白からグレーのグラデーションを作成しています。

正方形を回転させる

上記で作成した正方形をtransform:rotate(45deg)で45度回転させると、右向きの三角形になります。

HTMLは変更無いため割愛します。

CSS

  1. .test01 {
  2.  width: 60px;
  3.  height: 60px;
  4.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  5.  transform:rotate(45deg);
  6. }

できあがったもの

これで完成です。

transform:rotate(**deg);の数値を調整すれば、上下左右向きのグラデーション背景の三角形を作ることができます。

CSS

  1. .test01 {
  2.  width: 60px;
  3.  height: 60px;
  4.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  5.  transform:rotate(45deg);
  6. }
  7. .test02 {
  8.  width: 60px;
  9.  height: 60px;
  10.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  11.  transform:rotate(135deg);
  12. }
  13. .test03 {
  14.  width: 60px;
  15.  height: 60px;
  16.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  17.  transform:rotate(225deg);
  18. }
  19. .test04 {
  20.  width: 60px;
  21.  height: 60px;
  22.  background: linear-gradient(45deg, transparent 50%, #ffffff 50%, #cccccc);
  23.  transform:rotate(315deg);
  24. }

できあがったもの

ただし、この方法では正三角形しか作れません。

余談ですが、単色塗りの三角形を作りたい時、CSS三角形作成ツールを私はよく利用しています。