在Web制作中,有些时候需要实现一些倒影的效果。在传统网页中,我们只能使用photoshop事先将倒影设计好,然后导入到网页中,这样不但耗费资源,也阻碍了开发效率。而CSS新增了Reflections板块,CSS Reflections允许设计倒影,目前,CSS Reflections仅获得webkit引擎的支持,我们只能够在Chrome和Safari浏览器中测试。CSS3的box-reflect属性,使我们可以对图片、文字等进行倒影设计,具体语法:

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

由于此属性并不是W3C标准属性,在具体使用之时,还是需要添加浏览器的私有属性,根据浏览器的兼容性,使用box-reflect是需要添加-webkit的前缀。

1.direction

direction定义方向,取值包括above、below、left、right。具体含义如表1:

表1  box-reflect属性的direction参数值取值说明

2.offset

offset定义反射偏移的距离,取值包括数值或百分比,其中百分比根据对象的尺寸进行确定,默认为0。用长度值来定义倒影与对象之间的间隔,可以为负值。用百分比来定义倒影与对象之间的间隔,可以为负值。

3.mask-box-image

mask-box-image定义遮罩图像,该图像将覆盖投影区域。遮罩图像可以是背景图片,也可以是渐变生成的背景图像。如果省略该值,则默认无遮罩图像。该参数有如下取值可以选择:

(1)none:无遮罩

(2)使用绝对或相对地址指定遮罩图像

(3)使用线性渐变创建遮罩图像

(4)使用径向(放射性)渐变创建遮罩图像

(5)使用重复的线性渐变创建遮罩图像

(6)使用重复的径向(放射性)渐变创建遮罩图像

说明

设置或检索对象倒影

对应的脚本特性为boxReflect

下面的实例定义一个简单的倒影样式,若我们想要为下面一幅图增加一个在水中的倒影,我们就需要简单的利用CSS3的box-reflect特性添加倒影,原图如下:

经我们使用CSS为其添加box-reflect属性后就形成了这两座山的倒影,效果如下:

该实例的代码如下:

使用浏览器直接打开这个文件,就可以看到浏览器对这个网页文件解释后的结果,图片被加上了倒影,如图1所示。

图1  倒影

我们在上例倒影基础上继续改进,为倒影设置距离,向下偏移2像素,倒影效果如图2所示:

图2  倒影向下偏移2px

修改的CSS代码如下:

接下来继续进行改进,设计css渐变倒影,通过渐变遮罩逐渐盖住下面的倒影,制作出渐隐效果。效果图如图3所示:

图3  倒影渐隐效果

css代码如下:

另外,我们除了可以为图片我们设计倒影外,网页上的任何对象都可以设计css倒影效果,下面的实例是将文本设计为倒影效果。效果如图1.30所示:

图1.30  文本倒影效果

文本倒影的HTML代码如下:

倒影效果不会对其它元素产生影响,不会影响页面布局。当然,页面上的任何元素都可以用CSS3制作成倒影的形式,视频也不例外。

IT兄弟连 HTML5教程 CSS3属性特效 倒影的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3属性特效 文字描边

    用CSS3实现的文字描边效果,一个CSS3文字特效实例,字体可以自己随意改,字体颜色也可以自己改.IE9以下浏览器无效果,所以提醒大家测试时候要使用Google Chrome.-webkit-text ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  3. IT兄弟连 HTML5教程 CSS3属性特效 小结及习题

    本章小结 CSS3新增了许多属性,CSS3样式新增了一种颜色模式rgba用来制作透明色,比CSS的颜色模式多了一个透明度的设置.文字的CSS3特效有文字阴影.文字描边.文字排版和文字省略等.另外,CS ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 3D变换3

    5  3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 3D变换2

    3  perspective-origin景深基点 perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度.它实际上设置了X轴和Y ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 3D变换1

    3D变换较2D变换多了一下的转换属性,3D转换属性及描述如表1: 表1  3D转换属性 3D的转换方法如表2: 表2  3D转换方法     1  transform-style transform- ...

  7. IT兄弟连 HTML5教程 CSS3属性特效 2D变换2

    3  scale() 方法 通过scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X轴)和高度(Y轴)参数.缩放scale()函数让元素根据中心原点对对象进行缩放.默认值是1,因此0.01 ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 2D变换1

    通过CSS3转换,能够对元素进行移动.缩放.转动.拉长或拉伸.它如何工作?转换是使元素改变形状.尺寸和位置的一种效果.CSS3转换包括2D转换和3D转换,本小结我们来了解2D变换的转换方法. 转换属性 ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

随机推荐

  1. int main (int argc, const char * argv[0]) 中参数的含义;指针数组和数组指针

    恩,有的编译器初始化时候会产生这样的参数 argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名 1. 几种C++ 常见的参数种类 int main(void); in ...

  2. Python爬虫批量下载糗事百科段子,怀念的天王盖地虎,小鸡炖蘑菇...

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  3. 图解leetcode —— 124. 二叉树中的最大路径和

    前言: 每道题附带动态示意图,提供java.python两种语言答案,力求提供leetcode最优解. 描述: 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到 ...

  4. vue axios 总结篇

    1.npm --save 和 --save-dev 有什么区别 发布到线上的叫生产环境~,在本地开发的时候叫开发环境,--save就是会打包到线上去并且在线上环境能用到的,比如你npm install ...

  5. iOS设计模式之:建造者模式Builder Pattern,用于改进初始化参数

    转自:http://www.cnblogs.com/wengzilin/p/4365855.html 本文主要讨论一下iOS中的Builder Pattern.与网上很多版本不同,本文不去长篇大论地解 ...

  6. Thymeleaf的语法详解

    字符串操作,日期转换 <span th:text="hello"></span><hr/> <span th:text="${m ...

  7. 移动开发在路上-- IOS移动开发系列 网络交互四(1)

    最近一段时间上班忙的没日没夜的,不是披星戴月,就是头天早上出门,第二天早上回家...一直没出处时间来更新博客,码农之苦,说了都是泪,废话不多说,直接本主题,经过之前三篇的讲述,ios开发的东西大家或多 ...

  8. 第4节:Java基础 - 必知必会(中)

    第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...

  9. CodeForces985F -- Isomorphic Strings

    F. Isomorphic Strings time limit per test 3 seconds memory limit per test 256 megabytes input standa ...

  10. 递归的实际业务场景之MySQL 递归查询

    喜欢就点个赞呗! 源码<--请点击此处查看 引入 当我看到一些评论时,例如下面的样子.我挺好奇这个功能是怎么样做出来的.进过查阅资料,发现这其实是 MySQL 的递归操作.下面就让我操作一下怎么 ...