This is a quick demo of parallax scrolling using CSS and JavaScript. The image is set to a fixed position and the background is set to a fixed color. Using JavaScript, the image is set to move at a slower rate than the background, so when the user scrolls down, the image appears to be moving at a slower rate. This is done by setting the object-position to a multiple of the value of the scrollY property of the window object. The scrollY property returns the number of pixels that the document is currently scrolled vertically. The value of the scrollY property is multiplied by 0.5 and then, using CSS calc(), subtracted from 100% and set as the object-position of the image. This causes the image to move at a slower rate than the background.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus velit vel mauris semper tincidunt. Sed sagittis libero nulla, vitae cursus velit condimentum et. Donec facilisis nisi massa, a sollicitudin mi posuere vitae. Nulla maximus nunc volutpat vestibulum bibendum. Aenean ultrices, urna vel sollicitudin consequat, urna nulla viverra eros, ac bibendum dolor nisl et lorem. Cras elementum nisl a mi venenatis auctor. Cras molestie nibh erat, sed finibus sapien fringilla eget. Nullam rhoncus, purus eu suscipit pellentesque, nulla purus tempus purus, vel accumsan velit felis a enim. Nullam maximus lacus lectus. Curabitur ultricies, ex in suscipit finibus, tortor massa eleifend nunc, ac mattis lectus dui eget tellus. Sed sollicitudin condimentum ex eu malesuada. Vivamus suscipit hendrerit risus. Ut sed rhoncus tortor. Maecenas hendrerit at tortor ac scelerisque.
Donec ac nunc pretium, sollicitudin massa at, imperdiet nunc. Maecenas mattis massa ac neque porta euismod. Etiam vitae elementum justo. Fusce cursus feugiat blandit. Cras in purus lorem. Vestibulum nulla leo, convallis eu hendrerit vitae, pulvinar sit amet odio. Nam laoreet tempor enim, a fermentum urna ullamcorper vitae. Mauris sed ipsum pretium, semper erat nec, fermentum neque. Vivamus auctor hendrerit suscipit. Donec rhoncus mattis velit.
Quisque et luctus ex. Curabitur non nunc in lacus dignissim pharetra. Nullam ac ex quis lectus faucibus facilisis. Quisque suscipit risus ac dignissim rhoncus. Nulla facilisi. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent et porttitor tortor. Donec dignissim ultricies ante non suscipit. Fusce dignissim mauris vel hendrerit tincidunt. Donec tortor felis, luctus eget neque at, vehicula viverra lorem. Nulla eget varius felis. Vivamus eget pretium nisl, ut iaculis purus. Nunc pharetra justo sed venenatis sollicitudin. Duis congue augue in hendrerit lacinia. Vivamus scelerisque lobortis ex, at tristique nisl tempor a. Nulla maximus odio in felis viverra congue.
Suspendisse molestie dapibus dui in condimentum. Suspendisse feugiat ipsum porta turpis ultrices interdum. Vivamus viverra tortor vel mauris convallis mattis. Etiam porta orci sed felis maximus fringilla. Ut congue varius nulla nec rhoncus. Ut tempus, mauris quis lacinia tincidunt, lorem est varius leo, in maximus nunc quam sed massa. Donec a condimentum massa. Morbi nec velit et massa finibus condimentum. Donec ut tincidunt magna. Nulla sit amet lorem et purus gravida porta sed rutrum enim. Aenean tincidunt sollicitudin lacus quis accumsan. Vestibulum et pulvinar dolor. Maecenas est ipsum, hendrerit ultrices mauris varius, sollicitudin viverra eros.
Integer ipsum lacus, tempor nec lobortis nec, euismod quis ante. Fusce in tellus sed dolor tincidunt feugiat eget id lacus. Suspendisse maximus mi non mi rutrum tempus. Mauris commodo orci leo, quis sollicitudin nisl dignissim vel. Aliquam ac felis erat. Aliquam fringilla leo at ultrices efficitur. Pellentesque turpis metus, dapibus eu quam eget, varius porta tellus.