学习来源:慕课网http://www.imooc.com/view/240

先看效果图↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

HTML结构

 <body>
<div class="wrap effect">
<!-- effect类:是阴影类,其他元素也可以使用 -->
<h1>Shadow Effect</h1>
</div>
<ul class="box">
<li><img src="data:images/photo1.jpg" alt=""></li>
<li><img src="data:images/photo2.jpg" alt=""></li>
<li><img src="data:images/photo3.jpg" alt=""></li>
</ul>
</body>

CSS样式(省略了各浏览器前缀)

 /*通用类*/
body { font-family: Arial; font-size: 20px;}
body,ul {margin:; padding:; list-style: none;}
.wrap {width:70%; height:200px; margin:50px auto; background: #fff; }
.wrap h1 {font-size: 20px; text-align: center; line-height: 200px; } /*弧度阴影*/
.effect {
position: relative;
box-shadow: 0px 1px 4px rgba(0,0,0,0.3),
0 0 10px rgba(0,0,0,0.1) inset;
/*添加一个范围=4px的小阴影;再添加一个范围=10px的内阴影;*/
}
.effect:before,.effect:after {
content: '';
background: #f00;
position: absolute;
z-index: -2;
top:50%; bottom:; left:30px; right:30px;
/*设置四个方向值,然后浏览器自动计算盒子的大小;*/
box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
/*设置添加的盒子的阴影;*/
border-radius: 100px/10px;
/*添加圆角:水平方向圆角大小是100px/垂直方向圆角大小是10px;*/
} /*翘边阴影*/
.box{
width:980px;
height:auto;
clear:both;
overflow:hidden;
margin:20px auto;
}
.box li{
position: relative;
/*以li为定位基准;*/
width:300px;
height:210px;
float:left;
background: #fff;
margin:20px 10px;
border:2px solid #efefef;
box-shadow: 0px 1px 4px rgba(0,0,0,0.27);
/*给li添加一个小小的阴影;*/
}
.box li img {
display: block;
width:290px;
height:200px;
margin:5px;
}
.box li:before{
content: '';
position: absolute;
z-index: -3;
width:90%;
height:80%;
left:18px;
bottom:8px;
box-shadow: 0px 8px 20px rgba(0,0,0,0.6);
transform:skew(-12deg) rotate(-4deg);
/*图形向右倾斜12度;并逆时针旋转4度;*/
}
.box li:after{
content: '';
position: absolute;
z-index: -4;
width:90%;
height:80%;
right:18px;
bottom:8px;
box-shadow: 0px 8px 20px rgba(0,0,0,0.6);
transform:skew(12deg) rotate(4deg);
/*图形向左倾斜12度;并顺时针旋转4度;*/
}

之前在PS里用灰色图层叠加在其他图层下面做特殊阴影效果,相同思路应用到CSS里了。赞!

知识点补充↓↓↓↓↓↓↓

 1.box-shadow--添加一个或多个阴影
>1.功能:box-shadow--添加一个或多个阴影;
>2.语法:box-shadow:h-shadow v-shadow blur spread color inset;
>3.参数:
>>:h-shadow(必需):水平阴影的位置;允许负值;
>>:v-shadow(必需):垂直阴影的位置;允许负值;
>>:blur(可选):模糊距离;
>>:spread(可选):阴影的尺寸;
>>:color(可选):阴影的颜色;
>>:inset(可选):将外部阴影(outset)改为内部阴影;
>4.浏览器:IE9+/FF4 2.:before与:after
>1.:before选择器:在被选元素的内容前面插入内容;
>2.:after选择器:在被选元素的内容后面插入内容;
>3.说明:需要使用content属性来指定要插入的内容;
>4.浏览器:IE8及更早版本中的:after,必须使用<!DOCTYPE>; 3.transform--
>1.功能:向元素应用2D或3D转换
>1.语法:transform:none | transform-functions
>2.参数:
>>:skew(x-angle,y-angle):定义沿着X和Y轴的2D倾斜转换;
>>:skewX(angle):定义沿着X轴的2D倾斜转换;
>>:skewY(angle):定义沿着Y轴的2D倾斜转换;

CSS3--实现特殊阴影 (实例)的更多相关文章

  1. CSS3知识之阴影box-shadow

    一.定义和用法 box-shadow 属性向框添加一个或多个阴影. box-shadow: h-shadow v-shadow blur spread color inset; h-shadow   ...

  2. css3照片墙+曲线阴影

    css3照片墙+曲线阴影 最近在学习jquery,晚上想复习下以前学过的知识,看到网上有关于css3照片墙的,感觉挺好玩的,就做了做.(以下图片均来自网络) 一.css3照片墙 html部分: < ...

  3. 转载---CSS3实现曲线阴影和翘边阴影

    预备知识 DIV+CSS基础 圆角:border-radius 2D变换:transform:skew && rotate 伪类::before 和 :after 代码 HTML结构代 ...

  4. IE下实现类似CSS3 text-shadow文字阴影的几种方法

    IE下实现类似CSS3 text-shadow文字阴影的几种方法 一.开始的擦边话 为了测试IE9浏览器,下午晃晃荡荡把系统换成window7的了.果然,正如网上所传言的一样,IE9浏览器确实不支持C ...

  5. CSS3 文本效果(阴影)

    CSS3中包含几个新的文本特征. 在本章中您将了解以下文本属性: text-shadow box-shadow text-overflow word-wrap word-break CSS3 的文本阴 ...

  6. CSS3实现带阴影的弹球

    实现div上下跳动时,底部阴影随着变化 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  7. Long Shadows Generate是一款在线使用纯CSS3实现长阴影的效果,一款强大的扁平化长投影制造器。

    Long Shadows Generate是一款在线使用纯CSS3实现长阴影的效果,一款强大的扁平化长投影制造器. Long Shadows Generate 彩蛋爆料直击现场 Long Shadow ...

  8. Css3阴影实例

    阴影大约从CSS2就开始有了,但是只有Safari一个浏览器支持它,到现在依然是这样.阴影在CSS3中可以应用在边框和文字上,就像图片的阴影效果一样.一般可以分为: box-shadow textsh ...

  9. CSS3的文字阴影—text-shadow

    text-shadow还没有出现时,大家在网页设计中阴影一般都是用photoshop做成图片,现在有了css3可以直接使用text-shadow属性来指定阴影. 这个属性可以有两个作用,产生阴影和模糊 ...

  10. IE6下完美兼容css3圆角和阴影属性的htc插件PIE.htc

    1.(推荐:)css插件PIE.htc,这个才是真正完美兼容css3的圆角和阴影属性在IE6环境下使用的效果,但要注意的是:下面的代码必须写在html文件的head标签内,否则无效(不能从外部引用下面 ...

随机推荐

  1. 关于以DataTable形式批量写入数据的案例

    void IDataAccess.CommandDataTable(DataTable dt, string ProcedureName, System.Data.Common.DbParameter ...

  2. 使用U盘安装Ubuntu系统的实践小结

    参考教程:http://diybbs.zol.com.cn/1/33925_1942.html   遇到的问题:安装ubuntu 12.04 64位,提示缺少“/casper/vmlinuz.efi ...

  3. hdu 2821 Pusher (dfs)

    把这个写出来是不是就意味着把   http://www.hacker.org/push  这个游戏打爆了? ~啊哈哈哈 其实只要找到一个就可以退出了  所以效率也不算很低的  可以直接DFS呀呀呀呀 ...

  4. Android入门——电话拨号器和四种点击事件

    相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...

  5. centos 没有可用的网络设备

    在重装的时候记得查看网络情况,提示没有可用的网络设备. 系统是64位的,我再创建虚拟机选择客户机操作系统的时候,选择成了 centos .不是centos 64位.改成centos 64位后,就显示了 ...

  6. 分享一组Rpg Marker人物行走,游戏素材图片,共20张图片

    分享一组Rpg Marker人物行走,游戏素材图片,共20张图片 上面的下载地址链接是图片,无法直接复制哦!下载请直接点击: 游戏素材下载  或者复制以下链接:http://***/view/13.h ...

  7. 財哥面京东dm的经历【帮財哥发的】

        关于面京东,感触仅仅有一个,虐的快吐血了.首先说京东分四个板块,有京东商城.京东金融.京东刚收购的拍拍和海外事业部.我这个职位主要是在金融部数据组做数据挖掘和机器学习,还有推荐系统.面试是在周 ...

  8. 【JavaScript】父子页面之间跨域通信的方法

    由于同源策略的限制,JavaScript跨域的问题,一直是一个比较棘手的问题,为了解决页面之间的跨域通信,大家煞费苦心,研究了各种跨域方案.之前也有小网同学分享过一篇“跨域,不再纠结” 开始照着尝试时 ...

  9. [AngularJS] Hijacking Existing HTML Attributes with Angular Directives

    Angular overrides quite a few existing HTML elements and attributes. This can be a useful technique ...

  10. cocos2d-html5的jsb模式下如何在编译时自动将js编译为jsc

    cocos2d-html5是一个用JS来开发游戏的框架,通过javascript Binding的方式可以将游戏编译到手机上.这对前端开发人员来说非常方便,开发效率也比使用c++开发要快的多. jsb ...