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
一个使用伪元素来实现边框逐渐发光的代码,主要用到scale和opacity这两个属性。Html代码
<div>
<img src="http://tva2.sinaimg.cn/crop.0.0.180.180.180/6830a53bjw8f2qo4xzc2zj20500500t0.jpg"/>
<div>
<p>CSS3 逐渐发光的方格边框</p>
<p>CSS3 逐渐发光的方格边框</p>
</div>
</div>
Css代码
.light{
background: #fff
width: 180px
height: 180px
margin: 100px auto
position: relative
text-align: center
color: #333
transform:translate3d(0,0,0)
}
.light-inner{
padding: 60px 30px 0
pointer-events: none
position: absolute
left: 0
top: 0
bottom: 0
right: 0
text-align: center
transition: background 0.35s
backface-visibility: hidden
}
.light-inner:before, .light-inner:after{
display: block
content: ""
position: absolute
left: 30px
top: 30px
right: 30px
bottom: 30px
border: 1px solid #fff
opacity: 0
transition: opacity 0.35s, transform 0.35s
}
.light-inner:before{
border-left: 0
border-right: 0
transform:scaleX(0,1)
}
.light-inner:after{
border-top: 0
border-bottom: 0
transform: scaleY(1,0)
}
.light:hover .light-inner{
background: #458fd2
}
.light:hover .light-inner:before, .light:hover .light-inner:after{
opacity: 1
transform: scale3d(1,1,1)
}
.light-inner p{
transition: opacity .35s, transform 0.35s
transform: translate3d(0,20px,0)
color: #fff
opacity: 0
line-height: 30px
}
.light:hover .light-inner p{
transform: translate3d(0,0,0)
opacity: 1
}