用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 相关文章推荐
纯CSS3代码实现switch滑动开关按钮效果
Aug 30 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
Sep 10 HTML / CSS
纯CSS3实现圆圈动态发光特效动画的示例代码
Mar 08 HTML / CSS
html5/css3响应式页面开发总结
Oct 16 HTML / CSS
HTML5在a标签内放置块级元素示例代码
Aug 23 HTML / CSS
HTML5 video 视频标签使用介绍
Feb 03 HTML / CSS
html5的canvas方法使用指南
Dec 15 HTML / CSS
html5使用canvas绘制太阳系效果
Dec 15 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
Dec 26 HTML / CSS
为什么你写的height:100%不起作用
May 10 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
第五节--克隆
2006/11/16 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Django celery异步任务实现代码示例
2020/11/26 Python
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
Android面试题附答案
2014/12/08 面试题
公司周年庆典邀请函
2014/01/12 职场文书
个人对照检查材料
2014/02/12 职场文书
补充协议书范本
2014/04/23 职场文书
分公司经理任命书
2014/06/05 职场文书
体操比赛口号
2014/06/10 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
公司庆典主持词
2015/07/04 职场文书
三八妇女节致辞
2015/07/31 职场文书
参加招聘会后的感想
2015/08/10 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python