视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用CSS3的box-shadow属性制作边框阴影效果的方法
2020-11-27 18:52:37 责编:小采
文档
 这篇文章主要介绍了CSS3的box-shadow属性制作边框阴影效果的方法,box-shadow属性还是十分强大的,能设定阴影的水平或垂直位置,以及阴影的颜色和尺寸等,需要的朋友可以参考下

效果演示:

box-shadow向框添加一个或多个阴影。IE9+、Firefox 4、Chrome、Opera 以及 Safari 5.1.1 支持 box-shadow 属性。
语法:
代码如下:

box-shadow: h-shadow v-shadow blur spread color inset;

h-shadow,v-shadow必须。水平,垂直阴影的位置。允许赋值。blur可选,模糊距离。spread可选,阴影的尺寸。color可选,阴影的颜色。inset可选,将外部阴影(outset)改为内部阴影。
来看几个简单的范例:

<body>
 <p class="box">
 <span class="caption">A</span>
 </p>

 <p class="box">
 <span class="caption">B</span>
 </p>

 <p class="box">
 <span class="caption">C</span>
 </p>

 <p class="box">
 <span class="caption">D</span>
 </p>

 <p class="box">
 <span class="caption">E</span>
 </p>

 <p class="box">
 <span class="caption">F</span>
 </p>

 <p class="box">
 <span class="caption">G</span>
 </p>

 <p class="box">
 <span class="caption">H</span>
 </p>
</body>

先将它们简单的设定一下样式:

.box { 
 background-color: #fff; 
 border: 3px solid #ccc; 
 float: left; 
 margin: 20px 40px 0 0; 
 height: 65px; 
 width: 160px; 
 text-align: center; 
} 
.caption { 
 font-size: 20px; 
 position: relative; 
 top: 20px; 
}

接着就一一来练习一下各种参数的使用方式。基本上使用 box-shadow 时最少得要提供 h-shadow 及 v-shadow 两个参数:

.box:nth-child(1) { 
 -webkit-box-shadow: 3px 3px #f3d42e; 
 -moz-box-shadow: 3px 3px #f3d42e; 
 box-shadow: 3px 3px #f3d42e; 
}

若位移距离为正值时就是往右或往下偏移;反之则往左或往上

再加上 5px 的模糊半径:

.box:nth-child(2) { 
 -webkit-box-shadow: 3px 3px 5px #f3d42e; 
 -moz-box-shadow: 3px 3px 5px #f3d42e; 
 box-shadow: 3px 3px 5px #f3d42e; 
}

扩散距离会加强实际的阴影的范围:

.box:nth-child(3) { 
 -webkit-box-shadow: 3px 3px 0 5px #f3d42e; 
 -moz-box-shadow: 3px 3px 0 5px #f3d42e; 
 box-shadow: 3px 3px 0 5px #f3d42e; 
}

位移的距离会在加上扩散距离,所以若值为负的会减少阴影的范围

扩散出来的部份也会套上模糊的效果:

.box:nth-child(4) { 
 -webkit-box-shadow: 3px 3px 5px 5px #f3d42e; 
 -moz-box-shadow: 3px 3px 5px 5px #f3d42e; 
 box-shadow: 3px 3px 5px 5px #f3d42e; 
}

如果没有设定位移距离的话,那么模糊的效果就会直接从区块周围露出:

.box:nth-child(5) { 
 -webkit-box-shadow: 0 0 15px #f3d42e; 
 -moz-box-shadow: 0 0 15px #f3d42e; 
 box-shadow: 0 0 15px #f3d42e; 
}

再加上扩散距离:

.box:nth-child(6) { 
 -webkit-box-shadow: 0 0 15px 5px #f3d42e; 
 -moz-box-shadow: 0 0 15px 5px #f3d42e; 
 box-shadow: 0 0 15px 5px #f3d42e; 
}

另外,若在使用时加上 inset 参数的话,则原本显示在区块外的阴影效果就会变成是内阴影的效果了:

.box:nth-child(7) { 
 -webkit-box-shadow: 3px 3px #f3d42e inset; 
 -moz-box-shadow: 3px 3px #f3d42e inset; 
 box-shadow: 3px 3px #f3d42e inset; 
}

有仔细注意到吗?本来位移距离为正值时就是往右或往下偏移,但因为加上 inset 参数,所以效果就反过来了:

加上模糊半径及扩散距离:

.box:nth-child(8) { 
 -webkit-box-shadow: 3px 3px 5px 5px #f3d42e inset; 
 -moz-box-shadow: 3px 3px 5px 5px #f3d42e inset; 
 box-shadow: 3px 3px 5px 5px #f3d42e inset; 
}

在元素上加了多组阴影设定的话:

.box:nth-child(9) { 
 -webkit-box-shadow: 13px 13px #f3d42e, -10px 10px #33d42e, -5px -10px #ff0d2d, 10px -8px #034d5e; 
 -moz-box-shadow: 13px 13px #f3d42e, -10px 10px #33d42e, -5px -10px #ff0d2d, 10px -8px #034d5e; 
 box-shadow: 13px 13px #f3d42e, -10px 10px #33d42e, -5px -10px #ff0d2d, 10px -8px #034d5e; 
}

阴影的阶层关系是越先设定的阶层会越高~

当熟悉 box-shadow 的用法时,就能很简单又快速的将各种元素加上更有设计感的边框效果唷!

下载本文
显示全文
专题