Webデザイナーを目指す人のブログ

Webサイト作成時に勉強したことの備忘録

CSS サイト構築

CSS応用編 vol.01

投稿日:

                                                                                                                                 

CSSで三角形を作る

今日はCSSで三角形を作る方法についてみていきます。
三角形を作ることは結構あるんですが、その度にいちいち調べて書いてたので、
本質を理解する+それでも忘れちゃった時用の備忘録として三角形の作り方を書いていきましょう。

CSSで三角形を作れる理由

そもそもなんでCSSで三角形が作れるのか、最初見たときは不思議でした。
三角形はborderプロパティを使うことで作ることが出来るんですが、
このborderプロパティの境界線が三角形を作る上での大切なポイントなんです。

borderは
border-top
border-right
border-bottom
border-left
のプロパティがあり、それぞれ指定することができます。
普段borderを使うときは
border: 1px solid #000;
のように4辺まとめて一色で指定することが多いので気づかないのですが、
4辺を別々の色で見ると三角形を作れる理由がわかります。

例えば縦横100pxのボックスに上下左右に10pxのborderをつけてみましょう。

.box {
  border-top: 10px solid black;
  border-right: 10px solid yellow;
    border-bottom: 10px solid skyblue;
  border-left: 10px solid green;
  width:100px;
  height:100px;
}

borderとborderの境界線をよく見てください。
斜めになるんです!冷静に考えるとそりゃあそうだろって感じなんですが、
始めてみたときはええええ!って思いました。

これで三角形を作れる理由は大体わかったと思います。

試しにボックスの中身をどんどん小さくしていってみましょう

縦横50pxのボックス
縦横25pxのボックス
縦横10pxのボックス
縦横0pxのボックス

おおお!!!三角形できてる・・・?
ちょっと10pxじゃ小さいのでborderの太さを50pxにして大きくしてみましょう

きちんと三角形が出来てました!

まわりを透明にする

4辺に色がついているこの状態では中々使い勝手がわるいので、不要な部分は透明にしましょう。
透明にするのは色を指定するところにtransparentと指定することでできます。

たとえば下向きの三角形を作りたい場合は

.box {
  border-top: 50px solid black;
  border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
  border-left: 50px solid transparent;
  width:0px;
  height:0px;
}

このようにborder-top意外にtransparentを指定します。

三角形の高さを変える

三角形の高さを変えることもできます。

border-topだけ細くすると

.box {
  border-top: 30px solid black;
  border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
  border-left: 50px solid transparent;
  width:0px;
  height:0px;
}

こんなふうに少し潰れた三角形ができます。

border-topだけ太くすると

.box {
  border-top: 100px solid black;
  border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
  border-left: 50px solid transparent;
  width:0px;
  height:0px;
}

こんなふうに少し細めの三角形ができます。

今日はここまでです!来週からは吹き出しを作っていきます!!

-CSS, サイト構築

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

WordPress オリジナルテーマを作る〜サイドとフッター〜

第5回目のWordPressのサイト作り 前回の記事までの記事はこちらから WordPress オリジナルテーマを作る〜ヘッダー〜 WordPress オリジナルテーマを作る〜ヘッダーその2〜 Wor …

no image

bootstrap vol.01

bootstrap 今日から何回かにわけてCSSフレームワークであるbootstrapの使い方について書いていきます。 bootstrapの特徴 レスポンシブデザインのサイトを簡単に作れる 通常レスポ …

no image

CSSの基礎 vol.1

擬似クラスとは? ある要素が特定の状態にある場合のスタイルを指定するものです。 例えば <ul> <li>この行だけ色がつきます</li> <li>色が …

no image

【jQuery】初心者が勉強するjQuery

jQueryとは Web制作に携わっている人であれば一度は必ず耳にしているであろうjQuery。 私の中ではjQueryというのはなんとなくJSの難しい版だと勝手に解釈していました。 今回、改めてjQ …

WordPress オリジナルテーマ ウィジェットを追加する

オリジナルテーマを作っていて、ウィジェットが出てこなかったのでその解決方法。 functions.phpに以下のソースを追加するとwordpress管理画面>外観の中にウィジェットが表示されるようにな …