ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > CSSで三角形を作る手順を初心者でも分かるように丁寧に解説!

CSSで三角形を作る手順を初心者でも分かるように丁寧に解説!

HTML/CSS

2021/12/21

2023/04/14

三角形サムネイル

CSSで四角形や三角形、矢印などをつくることができます。

今回は、矢印の代わりとしても使われている"三角形"をCSSでつくる方法を解説していきます。

CSSのさまざまなプロパティを用いて三角形を作ることができますが、今回は現場で使われている下記2点に絞って解説していきます

三角形を作る時に使われるプロパティ

  • border
  • clip-path

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

CSSで三角形をつくる方法:borderでつくる

まずはborderで三角形を作りますが、結論からいうと、以下のような記述で実現できます。

<div class="triangle"></div>
.triangle {
  width: 0px;
  height: 0px;
  border-top: 25px solid transparent;
  border-right: 25px solid transparent;
  border-left: 25px solid transparent;
  border-bottom: 50px solid blue;
}

表示結果

transparentは、透過の意味を指しています。border-bottomは、要素の下側のborderを指定するさいに使用します。
つまり、border-topにtransparentをあてれば、要素の上側のborderを透過することを意味します。
tansparentをあてれば、要素の上側のborderを透過することを意味します。

なのでborder-bottom以外のところは、transparentを当てているので透過されて、border-bottomだけ色を指定しているので表示のようになっている、ということです。

ここで、イメージしやすくするために、以下のようにCSSを適用してみましょう。

.triangle {
  width: 0px;
  height: 0px;
  border-top: 50px solid red;
  border-right: 50px solid yellow;
  border-left: 50px solid green;
  border-bottom: 50px solid blue;
}

表示結果

 

上の表示結果のように、border-top,border-right,border-left,border-bottomに割り当てられた領域が可視化されました。

今度は試しに、左右のborderを透過してみましょう。

左右のborderを透過

.triangle {
  width: 0px;
  height: 0px;
  border-top: 50px solid red;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-bottom: 50px solid blue;
}

表示結果

左右のborderが透過、上下のborderのみ表示されました。ちなみにそれぞれのpxの値を変更するとさまざまな形に変更できます。

 

長方形を表示

.triangle {
  width: 0px;
  height: 0px;
  border-top: 0px solid transparent;
  border-right: 0px solid transparent;
  border-left: 100px solid green;
  border-bottom: 200px solid blue;
}

表示結果

topとrightのborderを透過し、border-leftを100px、border-bottomを200pxにすると、上のような半分色が違う四角形を形成できました。

台形のような形もつくることができます。

 

台形を表示

.triangle {
  width: 0px;
  height: 0px;
  border-top: 0px solid transparent;
  border-right: 100px solid yellow;
  border-left: 50px solid transparent;
  border-bottom: 100px solid blue;
}

表示結果

どのborderを透過させるか、その数値(px)の組み合わせで簡単な図形を形成することができます。

ZeroPlusgate50教材の動画

CSSで三角形をつくる方法:clip-pathでつくる

次に、clip-pathで三角形をつくる方法を解説します。
clip-pathは、要素のどの部分を表示するかを設定するクリッピング領域を作成します。
clip-pathの基本的な使い方は、こちらで解説されています。

clip-pathを用いると以下の記述で三角形を作ることができます。

.triangle {
  width: 100px;
  height: 100px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: blue;
}

表示結果

CSS三角形clip-path

 

三角形を描いている部分は、clip-pathの部分です。polygonの中身を解説すると、

  • 最初の(0, 0)が左上の頂点
  • (0%, 100%)が左下の頂点
  • (100%, 50%)が右の頂点

となります。

 

もっとイメージしやすくするために、左下の頂点(0%, 100%)の部分の数字を弄ってみます。以下は、左下の頂点を(50%, 100%)に変更したものです。

.triangle {
width: 100px;
height: 100px;
clip-path: polygon(0 0, 50% 100%, 100% 50%);
background-color: blue;
}
表示結果
三角形clip-pathx軸50%
左下の頂点が右側(X軸方向)に移動しました。次に左下の頂点を(100%, 100%)に変更してみます。
.triangle {
  width: 100px;
  height: 100px;
  clip-path: polygon(0 0, 100% 100%, 100% 50%);
  background-color: blue;
}

表示結果

三角形clip-pathx軸100%

左下の頂点がX軸の一番右側に移動しました。この移動した範囲も、widthとheightで指定した範囲内での移動になります。

ということは、左下の頂点を(100%, 100%)の後ろの100%はY軸での移動、ということになります。例えば、以下は左下の頂点を(0%, 50%)に変更してみます。

.triangle {
  width: 100px;
  height: 100px;
  clip-path: polygon(0 0, 0% 50%, 100% 50%);
  background-color: blue;
}

表示結果

三角形clip-pathY軸50%

今度は左下の頂点がY軸方向に移動しました。

この頂点の動きを理解できるようになると、容易に三角形をつくることができます。

ZeroPlusgate50教材の動画

CSSで三角形をつくるジェネレーターのご紹介

CSSで簡単に三角形をつくるジェネレーターサイトがありますので、そちらをつかって三角形をつくることもできます。

ジェネレーターサイトで三角形をつくるコードを作ったら、VSCodeなどのエディターにコピペするだけで簡単に作成できます。

まとめ

今回は三角形をborderとclip-pathを使って三角形をつくる方法を解説しました。

borderとclip-pathを使いこなすと、三角形以外の図形も作ることができるようになります。

borderとclip-pathを使いこなして見やすいサイトを作れるようになりましょう。

また、ジェネレーターサイトを使って簡単に図形を出力することもできるので、書き方を忘れた時や時間がない時は是非利用してみてください!

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから