如何创建:“即将上线”页面

学习如何使用 CSS 和 JavaScript 创建一张“即将上线”页面。

Essayer vous-même

如何创建“即将上线”页面

第一步 - 添加 HTML:

在我们的例子中,我们将使用覆盖整个页面的背景图像,并在图像中放置一些文本,以便让用户知道正在发生什么。

此例演示了如何使用 HTML 和 CSS 创建“即将上线”页面。请查看下一个例子,了解如何使用 JavaScript 添加“倒计时定时器”。

<div class="bgimg">
  <div class="topleft">
    <p>Logo</p>
  </div>
  <div class="middle">
    <h1>COMING SOON</h1>
    <hr>
    <p id="demo">35 days</p>
  </div>
  <div class="bottomleft">
    <p>Some text</p>
  </div>
</div>

第二步 - 添加 CSS:

/* 将 body 和 html 的高度设置为 100%,以使背景图像覆盖整个页面:*/
body, html {
  height: 100%
}
.bgimg {
  /* 背景图 */
  background-image: url('/w3images/forestbridge.jpg');
  /* 全屏 */
  height: 100%;
  /* 居中背景图像 */
  background-position: center;
  /* 放大图像 */
  background-size: cover;
  /* 添加 position: relative 以启用图像内部的绝对定位元素(放置文本) */
  position: relative;
  /* 为 .bgimg 容器内的所有元素添加白色文本颜色 */
  color: white;
  /* 添加字体 */
  font-family: "Courier New", Courier, monospace;
  /* 将字体大小设置为 25 像素 */
  font-size: 25px;
}
/* 在左上角定位文本 */
.topleft {
  position: absolute;
  top: 0;
  left: 16px;
}
/* 在左下角定位文本 */
.bottomleft {
  position: absolute;
  bottom: 0;
  left: 16px;
}
/* 定位文本在中间 */
.middle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
/* Définissez les styles de l'élément <hr> */
hr {
  margin: auto;
  width: 40%;
}

Essayer vous-même

Étape 3 - Ajoutez du JavaScript :

Ajoutez du JavaScript pour créer un chronomètre :

// Définissez la date pour laquelle nous faisons le décompte
var countDownDate = new Date("Jan 5, 2024 15:37:25").getTime();
// Mise à jour du décompte toutes les 1 seconde
var x = setInterval(function() {
  // Obtenez la date et l'heure actuelles
  var now = new Date().getTime();
  // Calcul de la distance entre la date actuelle et la date du décompte
  var distance = countDownDate - now;
  // Calcul du nombre de jours, d'heures, de minutes et de secondes pour le calcul du temps
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  // Affichez le résultat dans l'élément id="demo"
  document.getElementById("demo").innerHTML = days + "d " + hours + "h ";
  + minutes + "m " + seconds + "s ";
  // Si le décompte est terminé, écrivez certains textes.
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }

Essayer vous-même