用CSS3的box-reflect来制作倒影效果


Posted in HTML / CSS onNovember 15, 2016

兼容性

既然是CSS3的属性,我们当然要来看看兼容性:点击查看

接下来,我们来了解box-reflect如何使用?

语法如下:

-webkit-box-reflect:none | <direction> <offset>? <mask-box-image>?
  box-reflect:none | <direction> <offset>? <mask-box-image>?

属性说明:

none:此值为默认值,表示无倒影;

direction:生成倒影的方向

above:指定倒影在对象的上边 below:指定倒影在对象的下边 left:指定倒影在对象的左边 right:指定倒影在对象的右边

offset:图片与倒影间隔

length:用长度值来定义倒影与对象之间的间隔。可以为负值 percentage:用百分比来定义倒影与对象之间的间隔。可以为负值

mask-box-image:用来设置倒影的遮罩效果;

值可以是:

none:无遮罩图像 url:使用绝对或相对地址指定遮罩图像。 linear-gradient:使用线性渐变创建遮罩图像。 radial-gradient:使用径向(放射性)渐变创建遮罩图像。 repeating-linear-gradient:使用重复的线性渐变创建背遮罩像。 repeating-radial-gradient:使用重复的径向(放射性)渐变创建遮罩图像。

光是纸上谈兵可不行,我们还是要通过实例来看看效果。

倒影的方向

在这个例子中,我弄了三个img:

<div class="box1">   
  <img src="http://7s1r1c.com1.z0.glb.clouddn.com/t_sdfsdfs123.jpg" alt="" />   
</div>   
<div class="box2">   
  <img src="http://7s1r1c.com1.z0.glb.clouddn.com/t_sdfsdfs123.jpg" alt="" />   
</div>   
<div class="box3">   
  <img src="http://7s1r1c.com1.z0.glb.clouddn.com/t_sdfsdfs123.jpg" alt="" />   
</div>

css如下:

.box1,.box2,.box3{   
  width:120px;   
  float:left;   
  margin-right:180px;   
}   
img{   
  width:100%;   
}   
.box1 img{   
  -webkit-box-reflect:right;   
  box-reflect:right;   
}   
.box2 img,.box3 img{   
  -webkit-box-reflect: above;   
  box-reflect:above;   
}   
.box3{   
  padding-top:200px;   
}

效果图如下:

用CSS3的box-reflect来制作倒影效果

在这里有一个疑问,box2和box3中的图片都设置了box-reflect:above,都是在顶部生成投影,为什么box2看不到效果呢?原因就是我给box3设置了padding-top:200px,而box2没有,初步估计是因为没有空间让其显示生成的倒影。

倒影与对象之间的距离

了解了生成倒影的方向后,我们来看第二个属性,还是看例子:

依旧用三张图片,不过样式改变一下:

.box1 img{   
  -webkit-box-reflect:below 30px;   
  box-reflect:below 30px;   
}   
.box2 img{   
  -webkit-box-reflect:below -30px;   
  box-reflect:below -30px;   
}   
.box3 img{   
  -webkit-box-reflect:below 5%;   
  box-reflect:below 5%;   
}

效果图如下:

用CSS3的box-reflect来制作倒影效果

接下来我们学习最后一个属性。

遮罩效果

(1)使用渐变给倒影添加遮罩效果

.box1 img{   
  -webkit-box-reflect:below 0 -webkit-linear-gradient(top,rgba(250,250,250,0),rgba(250,250,250,.0) 30%,rgba(250,250,250,.3));   
  box-reflect:below 0 linear-gradient(top,rgba(250,250,250,0),rgba(250,250,250,.0) 30%,rgba(250,250,250,.3));   
}

效果如下:

用CSS3的box-reflect来制作倒影效果

使用背景图给倒影添加遮罩效果

首先我们需要一张五角星的png图片:

用CSS3的box-reflect来制作倒影效果

.box2 img{   
  -webkit-box-reflect:below 0 url(http://7s1r1c.com1.z0.glb.clouddn.com/t_star.png);   
  box-reflect:below 0 url(http://7s1r1c.com1.z0.glb.clouddn.com/t_star.png);   
}

效果如下:

用CSS3的box-reflect来制作倒影效果

总结

好了,到这里,本文关于CSS3的box-reflect属性的语法和使用已经介绍完了。希望本文的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

HTML / CSS 相关文章推荐
CSS去掉A标签(链接)虚线框的方法
Apr 01 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
详解CSS3中@media的实际使用
Aug 04 HTML / CSS
CSS3模拟动画下拉菜单效果
Apr 12 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
Mar 15 HTML / CSS
html5使用html2canvas实现浏览器截图的示例
Aug 31 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
canvas 如何绘制线段的实现方法
Jul 12 HTML / CSS
HTML5 weui使用笔记
Nov 21 HTML / CSS
HTML5自定义视频播放器源码
Jan 06 HTML / CSS
前端H5 Video常见使用场景简介
Aug 21 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
Nov 15 #HTML / CSS
CSS3实现多背景模拟动态边框的效果
Nov 08 #HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 #HTML / CSS
CSS3 :not()选择器实现最后一行li去除某种css样式
Oct 19 #HTML / CSS
CSS3点击按钮实现背景渐变动画效果
Oct 19 #HTML / CSS
CSS3实现各种图形的示例代码
Oct 19 #HTML / CSS
利用CSS3实现平移动画效果示例代码
Oct 12 #HTML / CSS
You might like
php通过ajax实现双击table修改内容
2014/04/28 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
简单的js计算器实现
2016/10/26 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
Angular 数据请求的实现方法
2018/05/07 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
Saltstack快速入门简单汇总
2016/03/01 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
小学教师自我鉴定
2013/11/07 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
教师教学评估方案
2014/05/09 职场文书
班级出游活动计划书
2014/08/15 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书