「疑似要素を使ってCSSのみで三角形をつくる方法」の編集履歴(バックアップ)一覧に戻る

疑似要素を使ってCSSのみで三角形をつくる方法 - (2015/06/13 (土) 23:11:19) のソース

目次
#contents

*CSSを使用して簡単に三角形を作ってみよう
CSSを使用して簡単に画像を使わずに矢印を表現できます。~
文章の先頭にちょこっと右矢印をのせておくとより見栄えが良くなりますよね。~
完成形はこのような矢印になります。~
#image(width=50,cssで作った矢印.png)
色や大きさなども自在に操ることができます。~
それでは解説をしていきますね。~
~
まずは一見関係ないように思えるかもしれませんが、高さと横が0のボックスに対してボーダーの長さを指定したらどうなるでしょうか?~
例えば、~
HTML
 <div id="box1"></div>

CSS
 #box1 {
 height: 0px;
 width: 0px;
 border: 20px solid #000;
 }

とすると、~
#image(width=50,ただの四角.png)
というように真黒な四角があらわれます。~
これはborderそのものに太さが存在するからですね。この場合、四角の一片の長さは4pxと言えるでしょう。~
~
ではborderの中でもleftしか指定しなかったらどうでしょうか??~
CSSを
 #box1 {
 heigth:0px;
 width: 0px;
 border-left:20px solid #000;
 }
と書き換えます。~
今度は何もあらわれなくなってしまいます。~
~
次の図を見てください。~
#image(width=200,main1.png)
高さと横がそれぞれ0の四角形のborderが意味する領域はそれぞれ三角形となります。~
ここは言葉で説明するのはとても難しいですが、
 #box1 {
 height: 0px;
 width: 0px;
 border-top: solid transparent;
 border-right: solid transparent;
 border-bottom: solid transparent;
 border-left: 20px solid #0f0; 
 } 
とすると完成形となります。~
&color(red){これは確かに四角形として存在しているものの、transparentによって一旦四角形が透明になり、その後、改めてborder-leftのみを指定して色をつけた状態}なのです。~
上の四角形の中に三角形がつめられている図の通りの関係となっており、それぞれ
 右矢印 border-left(他はtransparent) 
 左矢印 border-right(他はtransparent)
 上矢印 border-bottom(他はtransparent)
 下矢印 border-top(他はtransparent)
という関係になっています。