HTMLの背景画像のスライドショー設定

HTMLの背景画像のスライドショー設定

以下はHTMLとCSSを使った背景画像のスライドショー設定の例です。
HTMLとCSSは別ファイルに分けています。

HTML (index.html)

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>背景画像スライドショー</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="slideshow">
    <div class="slide test1"></div>
    <div class="slide test2"></div>
    <div class="slide test3"></div>
  </div>
</body>
</html>

CSS (styles.css)

body {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.slideshow {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease-in-out;
}

.test1 {
  background-image: url('image1.jpg');
}

.test2 {
  background-image: url('image2.jpg');
  opacity: 0;
}

.test3 {
  background-image: url('image3.jpg');
  opacity: 0;
}

@keyframes slide {
  0% { opacity: 0; }
  20% { opacity: 1; }
  60% { opacity: 1; }
  80% { opacity: 0; }
  100% { opacity: 0; }
}

.slide:nth-child(1) {
  animation: slide 9s infinite;
}

.slide:nth-child(2) {
  animation: slide 9s 3s infinite;
}

.slide:nth-child(3) {
  animation: slide 9s 6s infinite;
}

この例では、3つの背景画像がスライドショーとして表示されるようになっています。
各スライドはslideクラスを持ち、異なる背景画像を設定しています。
アニメーションの設定でスライドの切り替えを実現しています。