У меня:
1. Стоит мететег в html-странице:
<meta name="viewport" content="width=device-width, initial-scale=1" />
2. В css стилях body прописано:
body {
background-image: url(images/background-photo.jpg);
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
}
Это для больших экранов.
Если экран шириной меньше 768px, то грузится картинка поменьше (чтобы меньше весило, скорость загрузки сайта на моб устройствах на 90% выше):
@media only screen and (max-width: 767px) {
body {
background-image: url(images/background-photo-mobile-devices.jpg);
}
}