首页 > 代码库 > 视差滚动(Parallax Scrolling)效果的原理和实现

视差滚动(Parallax Scrolling)效果的原理和实现

视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。作为今年网页设计的热点趋势,越来越多的网站应用了这项技术。

一、什么是视差滚动?

 

视 差效果,原本是一个天文学术语,当我们观察星空时,离我们远的星星移动速度较慢,离我们近的星星移动速度则较快。 当我们坐在车上向车窗外 看时,也会有 这样的感觉,远处的群山似乎没有在动,而近处的稻田却在飞速掠过。许多游戏中都使用视差效果来增加场景的立体感。说的简单点就是网页内的元素 在滚动屏幕 时发生的位置的变化,然而各个不同的元素位置变化的速度不同,导致网页内的元素有层次错落的错觉,这和我们人体的眼球效果很像。我看到多家产品 商用视差 滚动效果来展示产品,从不同的空间角度和用户体验,起到了非常不错的效果。

目前这种视差滚动效果被越来越多的国外网站所应用, 成为网页设计的热点趋势。

 

通 过一个很长的网页页面,其中利用一些令人惊叹的插图和图形,并使用视差滚动(Parallax Scrolling)效果,让多层背景以不同的速度移动, 形成立体的运动效果,带来非常出色的视觉体验。完美的展示了一个复杂的过程,让你犹如置身其中。 厌倦了千篇一律,呆板网页设计的你不放一试。

就是固定背景不让它随着滚动轴移动,但包含背景的容器是跟着滚动的,所造成的视觉差异看起来就像跟转换场景一样。

二、视差滚动效果的主要特点:

1、直观的设计,快速的响应速度,更合适运用于单页面

2、差异滚动 分层视差
页面上很多的元素在相互独立地滚动着,如果我们来对其它分层的话,可以有两到三层 :背景层,内容层,贴图层。

三、原理

 

通过前景与背景在场景移动时产生不同的视差,从而达到简单的立体效果

页面上很多的元素在相互独立地滚动着,如果我们来对其它分层的话,可以有两到三层 :背景层,内容层,贴图层

  差异滚动的实现规则:

·   背景层的滚动(最慢)

·   贴图层(内容层和背景层之间的元素)的滚动(次慢)

·   内容层的滚动(可以和页面的滚动速度一致)

  我们让三个图层的滚动速度不一致,就做出了漂亮的差异滚动效果

 

以上内容为网络摘抄,我自己的能力也有限,所以自己用jq摸索出来了一个,虽然还不是很完美,但是至少效果还是出来了。

是通过firefox来领悟的,领悟到了其中一些道理:

1、被警察相对于滚动条可以快也可以慢,是通过backgroundposition确定的。用jq的实现方法是——

$(window).scroll(function(){

    x.css(‘background-position‘,‘5%‘ + $(window).scrollTop()*1.2 + ‘px‘);

});

背景的css可滑动高度。position:relativ设z-index。

 

2、正文position为absolute。其他如常。

2、贴图,同样道理。

4、第二个背景图滚动视差开始的图片背景,都要用fixed。

 

笔记记得笔记凌乱,看DEMO中的代码。DEMO地址:http://www.fonglezen.com/static/paxll/

 

通过demo就会发现,就用了jq去实现,没有应用到HTML5和CSS3.需要简单实现视觉差效果的同学可以参考参考吧。

当然这只是一个起步,视觉差是没有这么简单的,学更多东西,做更好的东西。

 

 

只是记住,若有版权,请联系我

原文地址http://fonglezen.com/a/think/2014/0318/39.html