上篇文章向大家展示了一下如何使用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><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代码比较简洁,值得我们学习。
相关内容链接请查看本站内css3部分的视频教程:
http://www.php.cn/course/list/14.html
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)