靳少华吧 关注:2贴子:155

使用CSS3制作文字、图片倒影

只看楼主收藏回复

CSS3制作文字、图片倒影需要涉及到使用CSS3.0新属性之box-reflect。box-reflect属性目前仅在Chrome、Safari和Opera浏览器下支持,但这并不影响我们来学习这个属性的应用。


IP属地:山西1楼2016-06-20 11:29回复
    认值:none
    适用于:所有元素
    继承性:无
    由于此属性并不是W3C标准属性,在具体使用之时,还是需要添加浏览器的私有属性,根据浏览器的兼容性,使用box-reflect时需要添加-webkit和前缀:


    IP属地:山西2楼2016-06-20 11:30
    回复
      假设我们需要给一张图片做倒影效果,其结构其实非常简单:


      IP属地:山西3楼2016-06-20 11:30
      回复
        根据前面的语法介绍,要让倒影在对象的右侧,我们只需要给box-reflect属性取值为right即可:


        IP属地:山西4楼2016-06-20 11:30
        回复
          文字倒影:
          要让倒影在对象的下方,我们只需要给box-reflect属性取值为below即可:


          IP属地:山西5楼2016-06-20 11:30
          回复
            -webkit-box-reflect: below;
            box-reflect: below;


            IP属地:山西6楼2016-06-20 11:31
            回复
              记录·回忆
              特别提示:在此示例中,我们没有为倒影提供了一个空白区,所以下面这一行就占据了位置,要解决这个问题,就得提供一个空白区域出来,使用margin:margin:20px 0;


              IP属地:山西7楼2016-06-20 11:31
              回复
                倒影与对象之间的间距:
                了解完生成倒影的方向之后,我们一起来看第二个属性值<offset>。有时候大家可能会有这样的需求,我虽然将倒影生成出来了,但我想让生成的倒影与对象(原图)之间有一定的间距。那么这个时候我们就需要使用到box-reflect属性中的第二个属性值<offset>。随便拿一个示例来说做演示,假设对象生成的倒影在底部,而且需要让生成的倒影离自身有一个20px的间距,此时我们只需要这样做:


                IP属地:山西8楼2016-06-20 11:31
                回复
                  .box-reflect img {
                  -webkit-box-reflect: right 20px;
                  box-reflect:right 20px;
                  }


                  IP属地:山西9楼2016-06-20 11:31
                  回复
                    <img src="图片.jpg" alt="使用CSS3制作图片倒影" style="-webkit-box-reflect: right 20px;box-reflect:right 20px">


                    IP属地:山西10楼2016-06-20 11:31
                    回复
                      给倒影添加遮罩效果:
                      左右倒影:
                      -webkit-box-reflect: left 1px -webkit-gradient(linear, 0% 100%,100% 100%,from(rgba(255,255,255,0)), to(white));
                      -webkit-box-reflect: right 1px -webkit-gradient(linear, 0% 100%,100% 100%, from(rgba(255,255,255,0)), to(white));


                      IP属地:山西11楼2016-06-20 11:31
                      回复
                        上下倒影:
                        -webkit-box-reflect: above 1px -webkit-gradient(linear, 0% 100%,100% 100%, from(rgba(255,255,255,0)), to(white));
                        -webkit-box-reflect: below 1px -webkit-gradient(linear, 0% 100%,100% 100%, from(rgba(255,255,255,0)), to(white));


                        IP属地:山西12楼2016-06-20 11:32
                        回复
                          字体倒影:
                          -webkit-box-reflect: below 1px -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(.5, transparent), to(rgba(3,3,3,.2)));


                          IP属地:山西13楼2016-06-20 11:32
                          回复
                            文字渐变+倒影:
                            -webkit-box-reflect: below 1px -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(.5, transparent), to(rgba(3,3,3,.2)));


                            IP属地:山西14楼2016-06-20 11:32
                            回复
                              background: -webkit-linear-gradient(top, rgba(174,188,191,1) 0%,rgba(110,119,116,1) 50%,rgba(10,14,10,1) 51%,rgba(10,8,9,1) 100%);
                              -webkit-background-clip: text;-webkit-text-fill-color: transparent;


                              IP属地:山西15楼2016-06-20 11:32
                              回复