请问你知道css怎么给图片加阴影效果吗

html-css017

请问你知道css怎么给图片加阴影效果吗,第1张

在网页中插入图片是再平常不过的事情了,但更多的时候为了美观的需要,要给图片加上阴影,图片数量较多的时候,工作量是非常大的。重复劳动而且没有工作效果。有没有办法用CSS给图片加阴影呢?

CSS中有一个概念大家应该都不陌生,那就是相对定位position:relative。应该学会灵活的运用CSS所提供的属性。给图片加阴影就可以用position:relative相对定位的办法来实现。关于position属性可以参考这里。

看下面的css代码:

.waiwei {

position:relative

background:#eee

margin:0 auto

width:200px

}

.tupian {

background:#fff

border:1px solid #c00

padding:0

position:relative

top:-5px

left:-5px

}

.tupian img {

vertical-align:bottom/*去除图片下方的空隙*/

}

给图片加阴影效果的CSS CSS代码 .pic {position:relativebackground:#CCCmargin:10px}.pic span {display:blockborder:1px solid #333background:#FFFposition:relativepadding: 3px}.right {/*阴影在右边时*/top:-4pxleft:-4px}.left {/*阴影在左边时*/ top:-4pxright:-4px} <ul><li class="pic"><span class="right"><img src="pic_shadow.jpg" border=0 alt="pic" /></span></li><li class="pic"><span class="left"><img src="pic_shadow.jpg" border=0 alt="pic" /></span></li></ul>

颜色(color):rgb(0,0,0)

不透明度(opacity):10%

角度(Angle):投影的角度

距离(Distance):阴影的距离。根据角度和距离可以换算出CSS3阴影中的x-offset和y-offet。 x-offset = Distance * cos(180 -Angle) , y-offset = Distance * sin(180 - Angle)

扩展(Spread): 阴影的扩展大小。控制阴影实体颜色和虚化颜色的多少。 Spread * Size = 阴影中实体颜色的大小 。剩下的就是虚化的颜色。CSS3阴影 spread-radius = Spread * Size

大小(Size): 阴影的大小。在CSS3中 blur-radius + spread-radius = Size 即 blur-radius = Size - spread-radius

x-offset: 87 * cos(180°-(- 90°)) = 0px(87=Distance(ps上的距离),-90°=Angle(ps上的角度))

y-offset: 87 * sin(180°- (- 90°)) =-87px(同理,注意是sin,不是cos)

spread-radius: 0*73=0px(0=Spread(ps上的扩展),73=Size(ps上的大小))

blur-radius: 73-0=73px(73=Size(ps上的大小),0=spread-radius(上一行的数据))

color+opacity:rgba(0,0,0,.1) (.1就是10%,就是不透明度)