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
这是因为右边的图片边框压住了左边的图片边框。边框值设置的是1px,margin-left:-1,向左移动1px就可以了。
如果盒子都没有加定位,可以鼠标悬浮时,给盒子加上相对定位relative属性。因为相对定位的盒子会压住普通盒子,位置没有设置偏移量的话就不会动。
顾名思义,就是元素外面的一圈边框,下图中虚线圈起的部分是内容,外面橙色的一圈是它的边框,可以理解成在照片外面加一个相框,使用border属性。
边框样式border-style必须写!否则其它属性全部失效。
边框的样式:
border后面可跟多个值,中间用空格分离,含义如下:
注意顺序, 边框样式不可省略 ,颜色和宽度可以省略,会显示默认的效果。
——以上规律在padding和margin一样适用。
边框样式border-style必须设置
如果我们的四条边框属性都是一样的,那么统一设置就可以啦,注意边框类型不可省略。
首先我们放置一个宽高为200px的粉色盒子。
接下来我们为它加上一条宽度为10px,样式为实线,颜色为红色的边框。
我们可以看到,添加边框的时候,是在盒子外面套一圈边框,而不是加在里面,在Chrome浏览器中点击右键检查,可以看到div的大小变成了220x220。
套在外面的边框的宽度是会加进盒子尺寸的(上下左右各增加了10px),如果我们想盒子保持大小不变,要对div本身的width和height进行减小,在这个样例中,通过计算可得,减少到180px即可保持大小不变。
当我们使用点状、虚线等边框样式时,多出来的缝隙,会使用元素本身的 背景颜色 填充。
点和虚线的具体样式,不同浏览器中可能会不一样。
我们为刚刚的盒子设置上边框为红色,左边框为绿色,效果如下图所示:
我们会发现在两条边框交界处的小方块,通过一条对角线分隔,上边框和左边框各占一半。当边框不一样宽时,同样也是用对角线把交界处的小长方形一分为二,如下图所示:
当被添加边框的元素宽度为0,不设置高度(高度默认是0)的情况下,我们可以巧妙利用 边框组合 和 transparent(透明) 绘制三角形,可以体验下哦。
三角形1-css:
三角形2-css:
多彩三角形-css:
绘制梯形只要对应添加宽度或者高度就可以啦
梯形1-css:
梯形2-css: