css的应用十分广泛,即便用在图片的效果中也是方法多样,下面就介绍五种为图片添加特殊效果边框的CSS写法
阴影效果
通过使用带有一些padding之的背景图来添加阴影效果。
HTML<img class=”shadow” src=”sample.jpg” alt=”" />CSS
img.shadow {
background: url(shadow-1000×1000.gif) no-repeat right bottom
padding: 5px 10px 10px 5px
}
双边框效果
这应该是目前最常见的技巧,我们通过以下方式创建说边框
HTML<img class="double-border" src="sample.jpg" alt="" />CSS
img.double-border {
border: 5px solid #ddd
padding: 5px
background: #fff
}
图片外框效果
webdesignerwall.com上有最好的讲解,这个效果是基于在上面层叠一个有透明度的图片的技术。至于IE6的PNG透明度问题,可以参考这篇教程。
HTML<div class="frame-block">
<span>&nbsp</span>
<img src="sample.jpg" alt="" />
</div>CSS
.frame-block {
position: relative
display: block
height:335px
width: 575px
}
.frame-block span {
background: url(frame.png) no-repeat center top
height:335px
width: 575px
display: block
position: absolute
}
水印效果
你可以通过降低主图片的透明度来让背景图片透过来显示的方法添加水印
HTML<div class="transp-block">
<img class="transparent" src="sample.jpg" alt="" />
</div>CSS
.transp-block {
background: #000 url(watermark.jpg) no-repeat
width: 575px
height: 335px
}
img.transparent {
filter:alpha(opacity=75)
opacity:.75
}
为图片添加说明文字
使用绝对定位和透明度的设置来添加灵活的说明。
HTML<div class="img-desc">
<img src="sample.jpg" alt="" />
<cite>Salone del mobile Milano, April 2008 - Peeta</cite>
</div>CSS
.img-desc {
position: relative
display: block
height:335px
width: 575px
}
.img-desc cite {
background: #111
filter:alpha(opacity=55)
opacity:.55
color: #fff
position: absolute
bottom: 0
left: 0
width: 555px
padding: 10px
border-top: 1px solid #999
在css2.0中,border是不能设置为一个图片的,可设置如下属性:
border-width:边框宽度
border-style:边框样式
border-color:边框颜色
在css2中可以设置为:
div{ border: 1px solid red}
在css3.0中,border多出了一些属性,因此可以用图片去设置border,具体如下:
border-radius:设置圆角边框
box-shadow : 设置边框阴影
border-image : 设置图片边框
具体设置举例:
1、设置圆角
div
{
border:2px solid
border-radius:25px
}
2、设置阴影
div{ box-shadow: 10px 10px 5px #888888}
3、设置图片边框
div
{
border-image:url(border.png) 30 30 round
}
这个是无法覆盖边框的,原因和解决方法如下:1、在css中的盒图中,图片是content,边框是border,所以图片是属于content内容是无法覆盖border,建议清楚一下css中的盒图模型。
2、解决方法是设置border的值为0,这样就看不到边框可,也就是相当于把border覆盖了,但是只是相当于,border只是宽度为0,但是不是被覆盖。