上篇文章向大家展示了一下如何使用css3实现文字的阴影效果,本文将继续向大家展示如何实现图片的阴影效果,其中包含了两种特殊效果:曲面/椭圆投影效果和悬浮投影效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
使用css3实现图片的阴影效果的原理
一个图形需要带有一个主投影,另一个带有弧度的图形也有自己的阴影效果,让这两个图形发生重叠,让他们的颜色一致然后可以把弧度阴影露出来,这样看到的就是一个曲线阴影的效果。
text-shadow属性设置
水平偏移量,正值向右,负值向左。
立即学习“前端免费学习笔记(深入)”;
垂直偏移量,正值向下,负值向上。
模糊度,不能为负值。
阴影的颜色。
使用css3实现曲面/椭圆投影效果
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>曲面/椭圆投影效果</title>
<style>
.shadow_wrap{
width: 100%;background:#E6EEF6;max-width: 600px;margin: auto;overflow: hidden;
}
.shadow1{
background-color: #9ecf68;
}
.shadow2{
background-color: #00bcd4;
}
.shadow1,.shadow2{
position:relative;
width:40%;
height:200px;
float:left;
margin:5% 15px;
border-radius:5px;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.1) inset;
}
.shadow_wrap h3{
width:87%;
height:100px;
margin-left:6%;
text-align:center;
padding-top:60px;
color:#fff;
}
/**styling shadows**/
.shadow1:before, .shadow1:after{
position:absolute;
content:"";
bottom:12px;left:15px;top:80%;
width:45%;
background:#9B7468;
z-index:-1;
-webkit-box-shadow: 0 20px 15px #9B7468;
-moz-box-shadow: 0 20px 15px #9B7468;
box-shadow: 0 20px 15px #9B7468;
-webkit-transform: rotate(-6deg);
-moz-transform: rotate(-6deg);
transform: rotate(-6deg);
}
.shadow1:after{
-webkit-transform: rotate(6deg);
-moz-transform: rotate(6deg);
transform: rotate(6deg);
right: 15px;left: auto;
}
.shadow2:before, .shadow2:after{
position:absolute;
content:"";
top:100px;bottom:5px;left:30px;right:30px;
z-index:-1;
box-shadow:0 0 40px 13px #486685;
border-radius:100px/20px;
}
</style>
</head>
<body>
<div class="shadow_wrap">
<div class="shadow1">
<h3>椭圆投影1</h3>
</div>
<div class="shadow2">
<h3>椭圆投影2</h3>
</div>
</div>
</body>
</html>实现效果如图所示

使用css3实现悬浮投影效果
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>悬浮投影</title>
<style>
.shadow_wrap{
margin-top: 50px; margin-bottom: 10px;
}
.floating {
width:60%;max-width: 180px; height: 150px;line-height: 150px; background: #ff9800;
color:#fff;text-align: center;cursor: pointer;
position: relative;transform: translateY(0);transition: transform 1s;
}
.floating:after {
content: "";
display: block;
position: absolute;
bottom: -30px;
left: 50%;
height: 8px;
width: 100%;
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.4);
border-radius: 50%;
background-color: rgba(0, 0, 0, 0.2);
transform: translate(-50%, 0);
transition: transform 1s;
}
/*鼠标移上去的效果*/
.floating:hover {
transform: translateY(-40px);
transition: transform 1s;
}
.floating:hover:after {
transform: translate(-50%, 40px) scale(0.75);
transition: transform 1s;
}
</style>
<body>
<div class="shadow_wrap">
<div class="floating">
<h3>悬浮投影</h3>
</div>
</div
</body>
</html>实现效果如图所示

总结
直接使用box-shadow:5px 5px 10px black inset;属性设置样式样式就可以了。前两个值(5px 5px)是水平和垂直方向的偏移量,正值阴影就会向左向下偏移,负值反之;第三个值(10px)是设置模糊距离;black就是阴影的颜色啦;最后一个inset是在元素内部创建一个阴影,也就是内阴影了;删除掉inset就是设置外阴影了。
这是使用纯CSS实现的效果,在DIV层的区域边框添加阴影效果,看上去非常形象,但是实现起来并不是太难,CSS代码比较简洁,值得我们学习。<title>盒子阴影的CSS实现方法</title>
相关内容链接请查看本站内css3部分的视频教程:
http://www.php.cn/course/list/14.html
以上就是如何使用css3实现图片的简单阴影效果(附完整代码)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号