SQLの窓

2013年02月16日


CSS3 : box-shadow の影分身の解説

box-shadow を使って、本体の DIV の影をいくつも複製して、それぞれにサイズや色や透過の処理を施す事ができます。

ここでは、本来の影としての『ぼかし処理』は使用せずに、影分身がどういうふうに行われるかが良く解るようにコードを作成しました。
最初の一つ目だけが、border で枠線を引いていますが、影は二つを重ねてボーダーと同じ表現をしています。

影は追加すると、後ろへ重なり隠れます。ですから、ボーダーを作る場合は順序は重要です。

数はいくらでも作成できるので、模様やアイコンを作成するのに有効ですし、複数の DIV や文字そのものも組み合わせて行く事ができます。
CSS でアイコンを作るサイト http://one-div.com/
<style type="text/css">
#target1 {
	/* 最初の DIV にボーダー指定 */
	margin: 0 0 0 50px;
	width: 100px;
	height: 100px;
	border-radius: 20px; /* 形状が影にも反映される */
	border: solid 5px #909090;

	-webkit-transform:skew(40deg);
	   -moz-transform:skew(40deg);
	    -ms-transform:skew(40deg);
	     -o-transform:skew(40deg);
	        transform:skew(40deg);
}

#target2 {
	/* 最初の DIV */
	margin: 0 0 0 50px;
	width: 100px;
	height: 100px;
	border-radius: 20px;
	border: solid 5px #909090;

	box-shadow:	
			/* グレーの同じサイズの影 */
			110px 0px 0px 0px  rgba(144,144,144,1)
			;

	/* DIV に対する特殊形状効果( 当然影にも反映される ) */
	-webkit-transform:skew(40deg);
	   -moz-transform:skew(40deg);
	    -ms-transform:skew(40deg);
	     -o-transform:skew(40deg);
	        transform:skew(40deg);
}
#target3 {
	/* 最初の DIV */
	margin: 0 0 0 50px;
	width: 100px;
	height: 100px;
	border-radius: 20px;
	border: solid 5px #909090;

	box-shadow:	
			/* 白の少し小さい影 */
			110px 0px 0px -5px rgba(255,255,255,1),
			/* その後ろにグレーでボーダーを再現 */
			110px 0px 0px 0px  rgba(144,144,144,1)
			;

	/* DIV に対する特殊形状効果( 当然影にも反映される ) */
	-webkit-transform:skew(40deg);
	   -moz-transform:skew(40deg);
	    -ms-transform:skew(40deg);
	     -o-transform:skew(40deg);
	        transform:skew(40deg);
}
#target4 {
	/* 最初の DIV */
	margin: 0 0 170px 50px; /* 170px は、影のぶんマージンを取って表示場所を確保 */
	width: 100px;
	height: 100px;
	border-radius: 20px;
	border: solid 5px #909090;

	box-shadow:	
			/* 影なので、後ろへ後ろへと重なる */
			110px 0px 0px -5px rgba(240,240,240,1),
			160px 50px 0px 0px  rgba(255,0,0,1),
			210px 100px 0px 0px  rgba(0,255,0,1),
			260px 150px 0px 0px  rgba(0,0,255,1)
			;

	/* DIV に対する特殊形状効果( 当然影にも反映される ) */
	-webkit-transform:skew(40deg);
	   -moz-transform:skew(40deg);
	    -ms-transform:skew(40deg);
	     -o-transform:skew(40deg);
	        transform:skew(40deg);
}
</style>
<div id="target1"></div>
<div id="target2"></div>
<div id="target3"></div>
<div id="target4"></div>
コードのテスト

http://jsdo.it/sworc/ecgp


タグ:CSS3
【CSS3の最新記事】
posted by lightbox at 2013-02-16 15:52 | CSS3 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり