时间:2021-05-08
滚动视差效果的实现原理是在同一个页面上将页面元素分为多层,例如可以分为背景、内容、贴图层,在滚动页面的时候让三者滚动的速度不一,从而在人的视觉上能够形成一种立体的近似效果。最近在做一个项目wiki的时候要用到滚动视差的东西,所以顺便记录一下。一般来说背景层是滚动里面最慢的,内容层可以和页面的滚动速度一致。
较为简单的滚动视差效果两层就可以了,一个背景,然后在背景上滚动内容。CSS中用来定义背景滚动属性的是background-attachment属性,具体取值如下:
•scroll: 默认值。背景图像会随着页面其余部分的滚动而移动。
•fixed: 当页面的其余部分滚动时,背景图像不会移动。
•inherit: 规定应该从父元素继承 background-attachment 属性的设置。
•初始值: scroll
•继承性: 否
•适用于: 所有元素
在body中定义背景图像以及属性时设置背景为固定,那么在背景上的内容就可以相对进行滑动,就能够初步实现一个滚动视差的效果。
复制代码代码如下:
body{
text-align:center;
background-attachment:fixed;
}
不过CSS虽然简单但是实现的效果确实是很有限的。一个貌似只能做出两个图层的效果。
另一种用CSS实现滚动视差的做法是用百分比对页面中的元素进行定位,从而在调整页面大小的时候能够出现元素间相对移动的效果。当然,如果加上CSS3中的transition能够使得背景进行移动的话也能够实现动态的滚动效果。有兴趣的可以去一试。
所以说滚动视差的实现实现最好的还是JS进行,比如JQUERY的很多插件就实现了这么些的功能。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、background-attachment属性在CSS中,使用背景附件属性background-attachment可以设置背景图像是随对象滚动还是固定不动
效果fixedie6body{background-image:url(about:blank);background-attachment:fixed;/*必
去掉textArea的边框的css代码: overflow:auto; background-attachment:fixed; background
css样式:复制代码代码如下:body{_background-attachment:fixed;_background-image:url(nothing);
蛮常见到有人问说,要如何才能让背景图片不管卷轴拉到那边都不会变?这其实只要透过设定background-attachment就能达到该效果了。Body其实并不用