Изменение фонового изображения при прокрутке

Здесь вы узнаете, как сделать при помощи CSS, чтобы фоновое изображение менялось при прокрутке страницы.


Изменение фонового изображения при прокрутке

Прокручивайте страницу внутри фрейма, чтобы увидеть эффект:

Попробовать самому »

Как изменять фонового изображения при прокрутке

Шаг 1) Добавляем HTML:

Пример


<div class="bg-image img1"></div>
<div class="bg-image img2"></div>
<div class="bg-image img3"></div>
<div class="bg-image img4"></div>
<div class="bg-image img5"></div>
<div class="bg-image img6"></div>

<div class="bg-text">TEXT</div>


Шаг 2) Добавляем CSS:

Пример


body, html {
  height: 100%;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

* {
  box-sizing: border-box;
}

.bg-image {
  /* Полная высота */
  height: 50%; 
  
  /* Аккуратно центрируем и масштабируем изображение */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Используемые изображения */
.img1 { background-image: url("img_snow.jpg"); }
.img2 { background-image: url("img_parallax.jpg"); }
.img3 { background-image: url("img_lights.jpg"); }
.img4 { background-image: url("img_nature.jpg"); }
.img5 { background-image: url("img_forest.jpg"); }
.img6 { background-image: url("img_mountains.jpg"); }

/* Позиционируем текст в середине страницы/изображения */
.bg-text {
  background-color: rgb(0,0,0); /* Цвет для обратной совместимости */
  background-color: rgba(0,0,0, 0.4); /* Черный с прозрачностью */
  color: white;
  font-weight: bold;
  font-size: 80px;
  border: 10px solid #f1f1f1;
  position: fixed; /* Stay fixed */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 300px;
  padding: 20px;
  text-align: center;
}

Попробовать самому »