要实现一个文字逐行显示的特效,可以使用HTMLCSSJavaScript来完成。这里提供一个基础的实现思路和代码示例,你可以根据具体需求进行调整和优化。

HTML 结构

首先,定义HTML结构,这里我们使用一个<div>来包裹每一行文字,每一行文字将被单独的<div>元素包含,以便于控制显示动画。
<div id="textAnimator" style="text-align: center;">
	  <div>第一行文本 ✔</div>
	  <div>第二行文本 ✔</div>
	  <div>第三行文本 ✔</div>
	  <div>第四行文本 ✔</div>
	  <div>第五行文本 ✔</div>
  </div>

CSS 样式

接着,定义CSS样式,确保每一行文字在开始时不显示,然后通过动画或CSS3的transition来实现逐行显示。
#textAnimator div {
  opacity: 0;
  animation: fadeIn 1s ease-in-out forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

JavaScript 动画

最后,使用JavaScript来控制每一行文字的显示时机。这里我们通过设置每一行文字的animation-delay属性,使得每一行文字在不同的时间开始动画。
document.addEventListener("DOMContentLoaded", function() {
  const divs = document.querySelectorAll('#textAnimator div');
  divs.forEach((div, index) => {
    div.style.animationDelay = `${index * 1.5}s`; // 每行延迟1.5秒
  });
});
完整代码
将以上三个部分整合到一个HTML文件中:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>文字逐行显示特效</title>
  <style>
    #textAnimator div {
      opacity: 0;
      animation: fadeIn 1s ease-in-out forwards;
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
  </style>
</head>
<body>
  <div id="textAnimator" style="text-align: center;">
	  <div>第一行文本 ✔</div>
	  <div>第二行文本 ✔</div>
	  <div>第三行文本 ✔</div>
	  <div>第四行文本 ✔</div>
	  <div>第五行文本 ✔</div>
  </div>

  <script>
    document.addEventListener("DOMContentLoaded", function() {
      const divs = document.querySelectorAll('#textAnimator div');
      divs.forEach((div, index) => {
        div.style.animationDelay = `${index * 1.5}s`;
      });
    });
  </script>
</body>
</html>
这个示例中,文字会逐行出现,每行之间有1.5秒的延迟。你可以根据需要调整延迟时间和动画效果。

效果图:



评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部