iT邦幫忙

5

CSS沒有極限 - box-shadow

鐵人賽終於到了15天了,再怎麼說也是30天的一半。今天要介紹的是box-shadow,簡單來說它是盒狀元素陰影,雖然他的設定值不多,但是要相信css是沒有極限的,再透過人們的思考他會有無止盡的變化。

本篇CSS效果發表於http://ashareaday.wcc.tw/#2013-09-30 (建議使用Chrome瀏覽器)


鐵人賽終於到了15天了,再怎麼說也是30天的一半。今天要介紹的是box-shadow,簡單來說它是盒狀元素陰影,雖然他的設定值不多,但是要相信css是沒有極限的,再透過人們的思考他會有無止盡的變化。

//CSS code
box-shadow: 120px 0 0 rgba(255, 165, 0, 0.8), -120px 0 0 rgba(255, 165, 0, 0.5);



box-shadow: x-位移 y-位移 blur-模糊的值 spread-擴散的值 color-顏色 inset-是否在內側

box-shadow簡單來說就是以本身的形狀,新增一個相同形狀的元素,並且可以設定該元素的位置、模糊、顏色等參數;所以如上範例,它所產生的陰影,其實和原本的元素形狀是相同的。

//css
box-shadow: 120px 0 8px 10px rgba(255, 165, 0, 0.8), -120px 0 8px 10px rgba(255, 165, 0, 0.5);

而他不只可以產生一個的陰影,只需要將每個參數中間以逗號隔開,就可以不斷的新增陰影,當然也可以設定每個陰影各自的擴散、位置、顏色等等。

box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);

也可以不要移動陰影的位置,這樣就會出現相當普通的陰影。

box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3) inset;

而簡單的陰影參數,只要反轉到了內側,也可以變得很有質感。

//sass code
%box
	height: 150px
	width: 100%
	margin: 20px auto
	position: relative
	line-height: 150px
	text-align: center
	font-size: 2em
	color: #555
	+transition(all .5s)
.demo
	@extend %box
	background: white
	&:hover
		background: rgba(white,.3)
	&:after
		content: ""
		position: absolute
		bottom: 0
		left: 10px
		right: 10px
		top: 0
		z-index: -1
		+box-shadow(0 0 15px rgba(black,.3))
		+border-radius(30%)

而我們只要再加上偽元素,一個只能做單純形狀的陰影又有了新的變化,透過偽元素我們可以重新定義他的範圍位置、大小、旋轉、圓弧等等,使得這個陰影變得更有質感。


愛恨分明 二打六

//sass @mixin
@mixin paperShadow()
	position: relative
	display: block
	&:after,&:before
		content: ""
		position: absolute
		background: rgba(00,00,00,0.2)
		bottom: 6px
		width: 50%
		height: 20%
		max-height: 20px
		z-index: -1
		+box-shadow(rgba(00,00,00,0.6) 0 0 15px)
	&:after
		right: 5px
		left: auto
		+rotate(2deg)
	&:before
		left: 5px
		+rotate(-2deg)

在這邊也奉上類似紙陰影的sass @mixin,有安裝sass的使用者可以試試看喔~。


1 則留言

我要留言

立即登入留言