You can use the background-attachment:fixed
CSS property to achieve this. A very quick demonstration can be seen below:
html,
body {
margin: 0;
padding: 0;
}
html {
background: url(http://lorempixel.com/800/600);
background-attachment: fixed; /*This stops the image scrolling*/
}
body {
min-height: 100vh;
margin-top: calc(100vh - 100px);/*Only 100px of screen visible*/
background: lightgray;/*Set a background*/
}
<body>Some text that will scroll</body>
solved Contents overlaying the image while scrolling