网站推广.NET

网站推广.NET

如何使用css3实现图片的简单阴影效果(附完整代码)

来源:互联网

上篇文章向大家展示了一下如何使用css3实现文字的阴影效果,本文将继续向大家展示如何实现图片的阴影效果,其中包含了两种特殊效果:曲面/椭圆投影效果和悬浮投影效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

使用css3实现图片的阴影效果的原理

一个图形需要带有一个主投影,另一个带有弧度的图形也有自己的阴影效果,让这两个图形发生重叠,让他们的颜色一致然后可以把弧度阴影露出来,这样看到的就是一个曲线阴影的效果。

text-shadow属性设置

  1. 水平偏移量,正值向右,负值向左。

    立即学习“前端免费学习笔记(深入)”;

  2. 垂直偏移量,正值向下,负值向上。

  3. 模糊度,不能为负值。

  4. 阴影的颜色。

使用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><p class="shadow_wrap">  <p class="shadow1">    <h3>椭圆投影1</h3>  </p>  <p class="shadow2">    <h3>椭圆投影2</h3>  </p></p></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><p class="shadow_wrap">  <p class="floating">    <h3>悬浮投影</h3>  </p></p</body></html>

实现效果如图所示

总结

直接使用box-shadow:5px 5px 10px black inset;属性设置样式样式就可以了。前两个值(5px 5px)是水平和垂直方向的偏移量,正值阴影就会向左向下偏移,负值反之;第三个值(10px)是设置模糊距离;black就是阴影的颜色啦;最后一个inset是在元素内部创建一个阴影,也就是内阴影了;删除掉inset就是设置外阴影了。

这是使用纯CSS实现的效果,在DIV层的区域边框添加阴影效果,看上去非常形象,但是实现起来并不是太难,CSS代码比较简洁,值得我们学习。

盒子阴影的CSS实现方法

相关内容链接请查看本站内css3部分的视频教程:

http://www.php.cn/course/list/14.html

阴影图片