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%,就是不透明度)