当前位置:380元网站建设 虎网站 > 行业新闻 > 正文

HTML5+CSS3图片倒影技术实现及原理

发布日期:2019-08-24

 目前为止我们已经探讨了很多CSS3中的新功能和新特征。除了上面这些,实际上还有很多CSS新属性并未包含进CSS3官方标准中,像谷歌浏览器或火狐浏览器等都会利用CSS的浏览器引擎前缀(VendorPrefix)来实现很多自定义的CSS功能。-webkit-box-reflect属性就是以谷歌浏览器为代表的Webkit渲染引擎独有的特征。-webkit-box-reflect的作用是让图片出现倒影。
实现倒影的基本语法

实现倒影的基本语法非常的直观,假设我们想给下面的图片增加倒影效果,可以这样写:

img{

-webkit-box-reflect:below;

}


上面这个例子中倒影出现了图片的下方,但实际上我们也可以将倒影安置在左侧、右侧或上侧。

倒影偏移量

Offset属性值用来定义图片和倒影影像之间的间距。参考下面的代码:

img{

-webkit-box-reflect:below10px;

}


上面的代码中,我们使图片和倒影影像之间相聚10px;



给倒影增加消隐效果

在现实生活中,倒影的出现通常是上半部比较清晰,下面半部逐渐消隐。为了在CSS中实现这种效果,我们需要运用CSS3渐变色(Gradients)功能,就像下面这样:

-webkit-box-reflect:below0px-webkit-gradient(linear,lefttop,leftbottom,from(transparent),to(rgba(250,250,250,0.1)));

这段代码就能达到这样的效果:


我们还可以使用color-stop来控制色彩过渡,让倒影更加漂亮:

img{

-webkit-box-reflect:below0px-webkit-gradient(linear,lefttop,leftbottom,from(transparent),color-stop(70%,transparent),to(rgba(250,250,250,0.1)));

}


火狐浏览器中倒影的实现

目前只有Webkit浏览器(谷歌浏览器和Safari浏览器)实现box-reflect属性。为了在火狐浏览器中也实现倒影功能,我们需要寻找另外的途径:使用-moz-element()方法。这个方法能够复制指定网页元素的内容。让我们来看看下面的例子:

我们把图片包裹着一个ID是someid的<p>里。

并且,为了存放倒影影像,我们将使用:before伪元素,就像下面:

#someid{

position:relative;

/*给倒影留下空间*/

margin-bottom:120px;

}

#someid:before{

content:"";/*neededornothingwillbeshown*/

background:-moz-linear-gradient(top,white,white30%,rgba(255,255,255,0.9)65%,rgba(255,255,255,0.7))0px0px,

-moz-element(#someid)0px-127pxno-repeat;

-moz-transform:scaleY(-1);/*fliptheimagevertically*/

position:relative;

height:140px;

width:360px;/*需要>imagewidth+margin+shadow*/

top:247px;

left:0px;

}

这里的-moz-transform是一个负值,作用就是让复制过来的图形上下颠倒,达到倒影的效果。为了让:before伪元素跟原始图形相配合,我们需要移动它的位置。这里的背景偏移量(-127px)是:before伪元素高(140px)–(图片的高(247px)+p的border(20px))。需要注意的是,火狐浏览器版的倒影实现只能用在页面的背景是真实背景。背景色要和:before伪元素使用的渐变色的颜色一致。

因为所有的属性都是来实现倒影的,而且这些属性都有火狐浏览器独有的前缀,和Webkit的倒影不冲突,所以在代码在可以把两个版本倒影方法都写上,保证两种浏览器里都有效果。

视频倒影

官方文档中说当倒影的实体内容变化时,倒影的内容也会相应更新。因此,这种技术用在视频是有特殊的效果。

CSS倒影技术在火狐浏览器中的小问题

有时,火狐浏览器生成的渐变色图形会比背景元素稍微小一些,导致有一些间隙线出现。为了避免这种情况出现,在:before伪元素的顶部和底部加1px的padding,并且分别设置背景的裁剪方式和原点:

padding:1px0px;

background-origin:border-box,content-box;

background-clip:border-box,content-box;

  

如何避免济州岛旅游被拒的情况发生

    济州岛是韩国最热门的旅游城市之一,拥有美丽的海滩、壮观的火山和丰富的文化遗产。然而,一些游客可能会在入境时被拒绝进入济州岛。这种情况不仅会浪费旅行时间和,还会给旅游者带来很多不必要的麻烦和困扰。本文将介绍如何避免济州岛旅游被拒的情况发生。 一、了解入境要求 在计划前往济州岛旅游之前,游客应该了解韩国的入境要求。首先,游客需要持有有效的护照,并且护照有效期应该至少超过旅行计划期间的六个月。其次,游...

       网站建设之颜色的搭配与选择 RGB颜色模式

       H5时代终将到来,微软放弃IE,为盗版用户升级Win10 被微软IE浏览器各种版本的兼容性问题,折磨了这么多年的网站制作师们,终于有盼头了,HTML5时代终将到来。我们来看近期的两则业内新闻:   1. 微软将为盗版用户免费提供 Windows10 的升级服务   据美国科技新闻网站“连线”报道,在中国深圳举办的一次大会上,微软负责Windows操作系统业务的高管梅森,公布了有关Windows10发布时间和升 级的更多细节内容。根据微软新政策,安装盗版 ...

       选择虚拟主机需要注意的七大问题 关于虚拟主机, 天津网站建设 - 虎网科技 的小编相信,很多的从事互联网开发行业的站长对此都不陌生。因为所谓的虚拟主机,其实也就是“网站空间”就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能。 有些中小企企业或初创企业,由于预算有限,因此为了节省成本,都经历过使用虚拟主机的经历,因为虚...

       网站初期如何推广你的网站 网站初期如何推广你的网站   网站推广,这个话题已经被大多数人谈论过。毕竟对于一个新站来说,如何让你的客户发现你是个非常重要的事。要不然,你的网站做的再漂亮,产品再好再便宜,别人也无法知道你,你也就无法赚得利润。下面四海商舟根据自身的网站运营经验给大家分享7个网站初期的推广小技巧。   1、不要让你的新网站有空白之处。刚建成的网站最忌有内容空白,因此,你必须把新网站的内容填充完整。   缺乏内容的...

       设计手机网站要有条理需掌握哪些重点 手机网站从尺寸设计上就与电脑网站有很大不同,想要设计好手机网站需要搞清楚其中的设计重点!假设你是客户,当你用手机打开一个网站首先会看什么?是先看导航里有什么内容,还是粗看看网站首页?浏览网站毕竟不是看书,不可同论,看书可以先随意翻翻,而看网站一般是根据顺序来,从头到脚过一遍,再去看看栏目内容。接下来虎网网站设计企业来说说,设计手机网站要有条理需掌握哪些重点! 设计手机网站要有条理需掌握哪些重点  ...

最新模板
少儿英语培训机构网站建设 培训公司网站建设
成人自考网站建设 成人培训网站制作设计版面
智能家居摆设设计网站建设 智能家居装修企业网站建设
铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
图文阅读