在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. Jpa支持LocalDateTime类型持久化

    package com.boldseas.porscheshop.common.config; import javax.persistence.AttributeConverter; import ...

  2. unity3D 游戏物体同时绑定单击、双击事件

    前言 在unity中我们常用的获取鼠标点击的方法有 在3D场景中,一般用在Update方法中,每一帧调用 void Update(){ )){ Debug.log("鼠标左键点击" ...

  3. 这个七夕节,用Python为女友绘制一张爱心照片墙吧!【华为云技术分享】

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特 ...

  4. 王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019

    演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019) ...

  5. HTTP/2简介

    1.HTTP/2的定义: HTTP/2即超文本传输协议2.0,是HTTP/1.1下一代的协议.是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (htt ...

  6. springboot+mybatis sql 打印在控制台

    第一种方法 在mybatis文件夹下新建mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ? ...

  7. 使用SQL计算宝宝每次吃奶的时间间隔

    需求:媳妇儿最近担心宝宝的吃奶时间不够规律,网上说是正常平均3小时喂奶一次,让我记录下每次的吃奶时间,分析下实际是否偏差很大,好在下次去医院复查时反馈给医生. 此外,还要注意有时候哭闹要吃奶,而实际只 ...

  8. git 使用详解(10)-- 远程分支

    远程分支 远程分支(remote branch)是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在Git 进行网络交互时才会更新.远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支 ...

  9. Java修炼——文件字节输入输出流复制和缓冲流复制

    一:文件字节输入输出流复制 首先明确数据源和目的文件,然后就是"中转站",最后就是关闭 package com.bjsxt.ioproject; import java.io.Fi ...

  10. LightOJ 1229 Tablecross

    Treblecross is a two player game where the goal is to get three X in a row on a one-dimensional boar ...