CSS3实现曲线阴影和翘边阴影


Posted in HTML / CSS onMay 03, 2016

本文实例为大家分享了CSS3实现曲线阴影和翘边阴影的效果,原来不用ps技术也可以实现阴影效果,很棒的效果,供大家参考,具体内容如下

效果图如下:

CSS3实现曲线阴影和翘边阴影

index.html

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>     
  2. <html lang="en">     
  3. <head>     
  4.     <meta charset="UTF-8">     
  5.     <title>CSS3实现曲线阴影和翘边阴影</title>     
  6.     <style>     
  7.         /*源于imooc的学习*/     
  8.         body {     
  9.             font-family: "微软雅黑", "Microsoft YaHei";     
  10.             font-size: 20px;     
  11.         }     
  12.         body, ul, li, h1 {     
  13.             padding: 0;     
  14.             margin: 0;     
  15.         }     
  16.         ul {     
  17.             list-style: none outside none;     
  18.         }     
  19.         .wrap {     
  20.             width: 70%;     
  21.             height: 200px;     
  22.             margin: 50px auto;     
  23.             background-color: #fff;     
  24.         }     
  25.         .wrap h1 {     
  26.             font-size: 40px;     
  27.             text-align: center;     
  28.             line-height: 200px;     
  29.         }     
  30.      
  31.         /**     
  32.         * box-shadow     
  33.         * 功能:添加一个或多个阴影     
  34.         * 语法:box-shadow: h-shadow v-shadow blur spread color inset;     
  35.         * 参数:     
  36.         *      h-shadow(必需):水平阴影的位置。允许负值。     
  37.         *      v-shadow(必需):垂直阴影的位置。允许负值。     
  38.         *      blur(可选):模糊程度,值越大越模糊。     
  39.         *      spread(可选):阴影的尺寸。一般不推荐设置。     
  40.         *      color(可选):阴影的颜色。请参阅CSS颜色值。     
  41.         *      inset(可选):将外部阴影(outset)改为内部阴影。     
  42.         * 浏览器兼容:     
  43.         *      IE9+、Firefox 4、Chrome、Opera以及Safari 5.1.1支持box-shadow属性。     
  44.         */     
  45.         .effect {     
  46.             position: relative;     
  47.             /*box-shadow: h-shadow v-shadow blur color [inset];*/     
  48.             -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;     
  49.             -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;     
  50.             -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;     
  51.             box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;     
  52.         }     
  53.         /**     
  54.         * :after选择器:在被选元素的内容后面插入内容     
  55.         * :before选择器:在备选元素额内容后面插入内容     
  56.         * 说明:需要使用content属性来指定要插入的内容     
  57.         * 浏览器兼容:     
  58.         *      对于IE8及更早版本的:after,必须声明<!DOCTYPE>。     
  59.         *     
  60.         * content属性用于定义元素之前或之后放置的生成内容。默认地,这往往是行内内容,不过该内容创建的     
  61.         * 框类型可以用属性display控制。     
  62.         */     
  63.         .effect::after,.effect::before {     
  64.             content: '';     
  65.             background: #f00;     
  66.             position: absolute;     
  67.             top: 50%;     
  68.             bottom: 0;     
  69.             left: 20px;     
  70.             right: 20px;     
  71.             -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.8);     
  72.             -moz-box-shadow: 0 0 20px rgba(0,0,0,0.8);     
  73.             -o-box-shadow: 0 0 20px rgba(0,0,0,0.8);     
  74.             box-shadow: 0 0 20px rgba(0,0,0,0.8);     
  75.      
  76.             border-radius: 100px/10px; /*水平半径/垂直半径*/     
  77.             z-index: -1;     
  78.         }     
  79.      
  80.         .box {     
  81.             width: 980px;     
  82.             height: auto;     
  83.             clear: both;     
  84.             overflow: hidden;     
  85.             margin: 20px auto;     
  86.         }     
  87.         .box li {     
  88.             width: 300px;     
  89.             height: 210px;     
  90.             float: left;     
  91.             margin: 20px 10px;     
  92.             border: 2px solid #EFEFEF;     
  93.      
  94.             -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 60px rgba(0,0,0,0.1) inset;     
  95.             -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 60px rgba(0,0,0,0.1) inset;     
  96.             -o-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 60px rgba(0,0,0,0.1) inset;     
  97.             box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 60px rgba(0,0,0,0.1) inset;     
  98.      
  99.             position: relative;     
  100.             background-color: #FFF;     
  101.         }     
  102.         .box li img {     
  103.             display: block;     
  104.             width: 290px;     
  105.             height: 200px;     
  106.             margin: 5px;     
  107.         }     
  108.      
  109.         .box li:before {     
  110.             content: '';     
  111.             position: absolute;     
  112.             width: 90%;     
  113.             height: 80%;     
  114.             left: 20px;     
  115.             bottom: 8px;     
  116.             /*background-color: #F00;*/     
  117.             background-color: transparent;     
  118.             box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  119.             -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  120.             -moz-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  121.             -o-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  122.      
  123.             /**     
  124.             * transform     
  125.             * 功能:向元素应用2D或3D转换     
  126.             * 语法:transform: none|transform-functions     
  127.             * 参数:     
  128.             *      skew(x-angle,y-angle) 定义沿着X和Y轴的2D倾斜转换     
  129.             *      skewX(angle) 定义沿着X轴的2D倾斜转换。     
  130.             *      skewY(angle) 定义沿着y轴的2D倾斜转换。     
  131.             * 浏览器兼容:     
  132.             *      Internet Explorer 9支持替代的-ms-transform属性(仅适用于2D转换)     
  133.             *      Safari和Chrome支持替代的-webkit-transform属性(3D和2D转换)     
  134.             *      Opera只支持2D转换。     
  135.             */     
  136.             -webkit-transform: skewX(-11deg) rotate(-4deg);     
  137.             -moz-transform: skewX(-11deg) rotate(-4deg);     
  138.             -ms-transform: skewX(-11deg) rotate(-4deg);     
  139.             -o-transform: skewX(-11deg) rotate(-4deg);     
  140.             transform: skewX(-11deg) rotate(-4deg);     
  141.      
  142.             z-index: -1;     
  143.         }     
  144.      
  145.         .box li:after {     
  146.             content: '';     
  147.             position: absolute;     
  148.             width: 90%;     
  149.             height: 80%;     
  150.             right: 20px;     
  151.             bottom: 8px;     
  152.             background-color: transparent;     
  153.             box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  154.             -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  155.             -moz-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  156.             -o-box-shadow: 0 8px 20px rgba(0,0,0,0.6);     
  157.      
  158.             -webkit-transform: skewX(11deg) rotate(4deg);     
  159.             -moz-transform: skewX(11deg) rotate(4deg);     
  160.             -ms-transform: skewX(11deg) rotate(4deg);     
  161.             -o-transform: skewX(11deg) rotate(4deg);     
  162.             transform: skewX(11deg) rotate(4deg);     
  163.      
  164.             z-index: -1;     
  165.         }     
  166.     </style>     
  167. </head>     
  168. <body>     
  169.     <div class="wrap effect">     
  170.         <h1>Shadow Effect</h1>     
  171.     </div>     
  172.     <ul class="box">     
  173.         <li><img src="images/1.jpg" alt="1.jpg"></li>     
  174.         <li><img src="images/2.jpg" alt="2.jpg"></li>     
  175.         <li><img src="images/3.jpg" alt="3.jpg"></li>     
  176.     </ul>     
  177. </body>     
  178. </html>   

以上就是本文的全部内容,希望对大家的学习有所帮助。

HTML / CSS 相关文章推荐
CSS3中:nth-child和:nth-of-type的区别深入理解
Mar 10 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
CSS中的字体大小设置属性总结
May 24 HTML / CSS
利用CSS3实现平移动画效果示例代码
Oct 12 HTML / CSS
css3 仿写阿里云水纹效果的示例代码
Feb 10 HTML / CSS
HTML5 canvas 基本语法
Aug 26 HTML / CSS
html5 canvas实现圆形时钟代码分享
Dec 25 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
Jun 01 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
Jan 20 HTML / CSS
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
Apr 29 HTML / CSS
html+css实现分层金字塔的实例
Jun 02 HTML / CSS
CSS3让登陆面板3D旋转起来
May 03 #HTML / CSS
关于css兼容性问题及一些常见问题汇总
May 03 #HTML / CSS
CSS3 3D旋转rotate效果实例介绍
May 03 #HTML / CSS
CSS3过渡transition效果实例介绍
May 03 #HTML / CSS
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 #HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 #HTML / CSS
CSS3的first-child选择器实战攻略
Apr 28 #HTML / CSS
You might like
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
营业员岗位职责范本
2015/04/14 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript