Multiple background images with CSS3 animation create a multi-depth parallax effect. This is what parallax was meant for.
A Pen by Rachel Nabors on CodePen.
<div class="foreground"></div> | |
<div class="midground"> | |
<div class="tuna"></div> | |
</div> | |
<div class="background"> | |
</div> |
Multiple background images with CSS3 animation create a multi-depth parallax effect. This is what parallax was meant for.
A Pen by Rachel Nabors on CodePen.
.tuna { | |
animation: walk-cycle 1s steps(12) infinite; | |
background: url(/content/inc/max/parallax-cat-background/img/tuna_sprite.png) 0 0 no-repeat; | |
height: 200px; | |
width: 400px; | |
position: absolute; | |
bottom: 1px; | |
left: 50%; | |
margin-left: -200px; | |
transform: translateZ(0); /* offers a bit of a performance boost by pushing some of this processing to the GPU in Safari*/ | |
} | |
@keyframes walk-cycle { | |
0% {background-position: 0 0; } | |
100% {background-position: 0 -2391px; } | |
} | |
.foreground, .midground, .background { | |
width: 100%; | |
height: 100%; | |
position: absolute; | |
top: 0; left: 0; | |
translate3d(0,0,0); | |
} | |
.foreground { | |
animation: parallax_fg linear 10s infinite both; | |
background: url(/content/inc/max/parallax-cat-background/img/foreground_grass.png) 0 100% repeat-x; | |
z-index: 3; | |
} | |
@keyframes parallax_fg { | |
0% { background-position: -3584px 100%;} | |
100% {background-position: 0 100%; } | |
} | |
.midground { | |
animation: parallax_mg linear 20s infinite; | |
background: url(/content/inc/max/parallax-cat-background/img/midground_grass.png) 0 100% repeat-x; | |
z-index: 2; | |
} | |
@keyframes parallax_mg { | |
0% { background-position: -3000px 100%;} | |
100% {background-position: 0 100%; } | |
} | |
.background { | |
background-image: | |
url(/content/inc/max/parallax-cat-background/img/background_mountain5.png), | |
url(/content/inc/max/parallax-cat-background/img/background_mountain4.png), | |
url(/content/inc/max/parallax-cat-background/img/background_mountain3.png), | |
url(/content/inc/max/parallax-cat-background/img/background_mountain2.png), | |
url(/content/inc/max/parallax-cat-background/img/background_mountain1.png); | |
background-repeat: repeat-x; | |
background-position: 0 100%; | |
z-index: 1; | |
animation: parallax_bg linear 40s infinite; | |
} | |
@keyframes parallax_bg { | |
100% { background-position-x: 2400px, 2000px, 1800px, 1600px, 1200px;} | |
} | |
body { | |
background: linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%), | |
#d2d2d2 url(/content/inc/max/parallax-cat-background/img/background_clouds.png); | |
} |