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

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

亲自试一试

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

第一步 - 添加 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;
}

/* 设置 <hr> 元素的样式 */
hr {
  margin: auto;
  width: 40%;
}

亲自试一试

第三步 - 添加 JavaScript:

添加 JavaScript 以创建倒计时器:

// 设置我们正在倒计时的日期
var countDownDate = new Date("Jan 5, 2024 15:37:25").getTime();

// 每 1 秒更新一次倒计时
var x = setInterval(function() {

  // 获取今天的日期和时间
  var now = new Date().getTime();

  // 计算现在和倒计时日期之间的距离
  var distance = countDownDate - now;

  // 计算天数,小时数,分钟数和秒数的时间计算
  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);

  // 在 id="demo" 的元素中显示结果
  document.getElementById("demo").innerHTML = days + "d " + hours + "h "
  + minutes + "m " + seconds + "s ";

  // 如果倒计时结束,写一些文本。
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }
}, 1000);

亲自试一试