用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 box-sizing属性
Apr 17 HTML / CSS
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
基于CSS3实现图片模糊过滤效果
Nov 19 HTML / CSS
CSS3动画:5种预载动画效果实例
Apr 05 HTML / CSS
css3实现文字扫光渐变动画效果的示例
Nov 07 HTML / CSS
CSS3 实现的加载动画
Dec 07 HTML / CSS
深入研究HTML5实现图片压缩上传功能
Mar 25 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
浅析HTML5中header标签的用法
Jun 24 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
Aug 19 HTML / CSS
CSS font-variation 可变字体的魅力(实例详解)
Mar 03 HTML / CSS
html,css,javascript是怎样变成页面的
May 07 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自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
php验证码生成代码
2015/11/11 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
layer弹出层扩展主题的方法
2019/09/11 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Python File(文件) 方法整理
2019/02/18 Python
python3实现猜数字游戏
2020/12/07 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
Python如何进行时间处理
2020/08/06 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
四风存在的原因分析
2014/02/11 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
商务邀请函
2015/01/30 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang