css3 倒影

Posted on 2016-09-27 17:13  金-Fish  阅读(520)  评论(0编辑  收藏  举报
  • 说起倒影效果,在传统网页中,我们只能使用photoshop进行事先将倒影设计好,然后导入到网页中,这样不但耗费资源,也阻碍了开发的效率。而
    css3新增了Reflections板块,css  Reflections允许css设计倒影。 
    目前, css  Reflections仅获得webkit引擎的支持,我们只能够在Chrome和Safari浏览器中测试,相信以后会普及的。
    css3的box-reflect属性,可以使我们进行图片、文字等的倒影设计,具体语法:

    语法:
    box-reflect:包括3个值。
    1. direction 定义方向,取值包括 above 、 below 、 left 、 right。
    above:
    指定倒影在对象的上边
    below:
    指定倒影在对象的下边
    left:
    指定倒影在对象的左边
    right:
    指定倒影在对象的右边

    2. offset定义反射偏移的距离,取值包括数值或百分比,其中百分比根据对象的尺寸进行确定。默认为0。
    用长度值来定义倒影与对象之间的间隔。可以为负值。用百分比来定义倒影与对象之间的间隔。可以为负值。
    3. mask-box-image定义遮罩图像,该图像将覆盖投影区域。如果省略该参数值,则默认为无遮罩图像。
    取值:
    none:无遮罩图像:
    使用绝对或相对地址指定遮罩图像。
    使用线性渐变创建遮罩图像。
    使用径向(放射性)渐变创建遮罩图像。
    使用重复的线性渐变创建背遮罩像。
    使用重复的径向(放射性)渐变创建遮罩图像。
    说明:
    设置或检索对象倒影。
    对应的脚本特性为boxReflect。

    当对象源发生变化时,投影能够自动更新,当鼠标经过对象时,也能够在投影中看到鼠标效果,如果该属性应用到video标签上,视频也会以投影效果进行播放。而且投影的规模和反射偏移不影响页面的布局。

    下面的示例定义一个简单的倒影样式,效果图如下:



    css代码如下:

<style type="text/css">
img {
    height:250px;
    border:1px solid red;
    -webkit-box-reflect:below;
}
</style>

html代码如下:

<body>
<img src="images/bg1.jpg"  />
</body>


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

改动的css代码:

<style type="text/css">
img {
    height:250px;
    -webkit-box-reflect:below 10px ;
}
</style>


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

<style type="text/css">
img {
    height:250px;
    -webkit-box-reflect:below 5px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(white));
}
</style>

效果图:

 

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

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS Reflections文字倒影效果</title>
<style type="text/css">
img {
    height: 200px;
    position: absolute;
    right: 0;
    bottom: 0;
}
div {
    border: 1px solid #666;
    color: #666;
    -webkit-box-reflect: below 5px;
}
h1 { text-align: center; }
</style>
</head>

<body>
<div>
    <h1>《雨巷》--- 戴望舒</h1>
    <p>撑着油纸伞,独自<br />
        彷徨在悠长、悠长<br />
        又寂寥的雨巷<br />
        我希望逢着<br />
        一个丁香一样地<br />
        结着愁怨的姑娘 </p>
</div>
<img src="images/bg2.jpg" />
</body>
</html>



新发现的一个css查找手册
http://www.css88.com/book/css/properties/only-webkit/box-reflect.htm