WebDesign 背景画像 parallax

ポイントは、

position: relative;

background-attachment: fixed

を同じクラスにつけること画像を配置しているクラスにCSSを当てる

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Parallax Website Demo</title>
  <link rel="stylesheet" href="css/style.css">
</head>

<body>
  <div class="pimg1">
    <div class="ptext">
      <span class="border">
        Parallax Website
      </span>
    </div>
  </div>

  <section class="section section-light">
    <h2>Section One</h2>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt, laudantium, quibusdam? Nobis, delectus, commodi,
      fugit amet tempora facere dolores nisi facilis consequatur, odio hic minima nostrum. Perferendis eos earum
      praesentium, blanditiis sapiente labore aliquam ipsa architecto vitae. Minima soluta temporibus voluptates
      inventore commodi cumque esse suscipit optio aliquam et, dolorem a cupiditate nihil fuga laboriosam fugiat placeat
      dignissimos! Unde eveniet placeat quisquam blanditiis voluptatem doloremque fugiat dolor repellendus ratione in.
      Distinctio provident dolorem modi cumque illo enim quidem tempora deserunt nostrum voluptate labore repellat
      quisquam quasi cum suscipit dolore ab consequuntur, ad porro earum temporibus. Laborum ad temporibus ex, omnis!
    </p>
  </section>

  <div class="pimg2">
    <div class="ptext">
      <span class="border trans">
        Image Two Text
      </span>
    </div>
  </div>

  <section class="section section-dark">
    <h2>Section Two</h2>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt, laudantium, quibusdam? Nobis, delectus, commodi,
      fugit amet tempora facere dolores nisi facilis consequatur, odio hic minima nostrum. Perferendis eos earum
      praesentium, blanditiis sapiente labore aliquam ipsa architecto vitae. Minima soluta temporibus voluptates
      inventore commodi cumque esse suscipit optio aliquam et, dolorem a cupiditate nihil fuga laboriosam fugiat placeat
      dignissimos! Unde eveniet placeat quisquam blanditiis voluptatem doloremque fugiat dolor repellendus ratione in.
    </p>
  </section>

  <div class="pimg3">
    <div class="ptext">
      <span class="border trans">
        Image Three Text
      </span>
    </div>
  </div>

  <section class="section section-dark">
    <h2>Section Three</h2>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt, laudantium, quibusdam? Nobis, delectus, commodi,
      fugit amet tempora facere dolores nisi facilis consequatur, odio hic minima nostrum. Perferendis eos earum
      praesentium, blanditiis sapiente labore aliquam ipsa architecto vitae. Minima soluta temporibus voluptates
      inventore commodi cumque esse suscipit optio aliquam et, dolorem a cupiditate nihil fuga laboriosam fugiat placeat
      dignissimos! Unde eveniet placeat quisquam blanditiis voluptatem doloremque fugiat dolor repellendus ratione in.
    </p>
  </section>

  <div class="pimg1">
    <div class="ptext">
      <span class="border">
        Traversy Media
      </span>
    </div>
  </div>
</body>

</html>

CSS

body, html{
  height: 100%;
  margin:0;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 1.8rem;
  color: #666;
}

.pimg1, .pimg2, .pimg3{
  position: relative;
  opacity: 0.70;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  /* ここがポイント
fixed にすると parallax
  scroll にすると 通常の動き */
  background-attachment: fixed;
}

.pimg1{
  background-image: url(../img/image1.jpg);
  min-height: 100%;

}
.pimg2{
  background-image: url(../img/image2.jpg);
  min-height: 400px;

}
.pimg3{
  background-image: url(../img/image3.jpg);
  min-height: 400px;

}

.section{
  text-align: center;
  padding: 50px 80px;
}

.section-light{
  background-color: #f4f4f4;
  color: #666;
}

.section-dark{
  background-color: #282e34;
  color: #ddd;
}

.ptext{
  position: absolute;
  top:50%;
  width: 100%;
  text-align: center;
  color: #000;
  font-size: 27px;
  letter-spacing: 8px;
  text-transform: uppercase;
}

.ptext .border{
  background-color: #111;
  color: #fff;
  padding: 20px;

}

.ptext .border.trans{
  background-color: transparent;
}

@media(max-width:568px){
  .pimg1, .pimg2, .pimg3{
    background-attachment: scroll;
  }
}

参考資料

www.youtube.com