如何使用 HTML 和 CSS 创建滑动文本显示动画?

htmlcssweb developmentfront end technology更新于 2025/1/30 14:36:17

您可能在不同的网站上见过滑动文本显示动画,例如个人作品集网站,甚至不同的视频内容,它们为用户带来了不同的体验,并且文本看起来更加生动。滑动文本动画可以轻松使用 HTML 和 CSS 制作,从而吸引访问我们网站的用户的注意力。

在本文中,我们将了解如何仅使用 HTML 和 CSS 创建滑动文本显示动画。

如何创建滑动动画?

让我们来谈谈创建滑动动画的方法。动画开始时会显示第一个文本,在本例中为"早上好",然后文本会向左滑动,然后第二个文本"你今天过得怎么样"会向右滑动显示出来。

我们将使用 key-frames 属性将动画分成不同的部分,使最终的动画看起来更流畅。让我们来看看 key-frames 属性的语法。

语法

@keyframes appear
@keyframes slide
@keyframes reveal

您可以在上面的代码中看到 keyframes 属性的使用。在关键帧出现时,我们将设置第一个文本的显示方式。

  • 在关键帧滑动时,我们将文本横向移动。

  • 在关键帧显示时,我们将显示整个文本的剩余部分。

示例

为了更好地理解该属性的功能,让我们看一个创建动画的示例。

<!DOCTYPE html>
<html lang="en">
   <head>
      <title>Example of</title>
      <style>
         .container {
            overflow: hidden;
            width: 80%;
            margin: 0 auto;
            padding: 20px;
         }
         .slider {
            display: flex;
            transition: transform 0.5s ease-in-out;
         }
         .slide {
            width: 100%;
            text-align: center;
            font-size: 72px;
            font-weight: bold;
            color: #333;
         }
         .slider.slide-1 {
            transform: translateX(0%);
         }
         .slider.slide-2 {
            transform: translateX(-100%);
         }
         .slider.slide-3 {
            transform: translateX(-200%);
         }
      </style>
   </head>
   <body>
      <div class="container">
      <div class="slider">
      <div class="slide">A</div>
      <div class="slide">B</div>
      <div class="slide">C</div>
      <div class="slide">D</div>
      <div class="slide">E</div>
      <div class="slide">F</div>
      </div>
      </div>
      <script>
         var currentSlide = 1;
         var slider = document.querySelector('.slider');
         setInterval(function () {
            currentSlide++;
            if (currentSlide > 26) {
               currentSlide = 1;
            }
            slider.classList.remove('slide-' + (currentSlide - 1));
            slider.classList.add('slide-' + currentSlide);
         }, 1000);
      </script>
   </body>
</html>

在上面的代码中,我们创建了一个动画,以 0.5 秒的过渡时间显示字母,用户可以调整时间间隔和字体大小,以适应用户的特定用例。

可以通过使用 HTML 和 CSS 更改字母数量和字母本身来更改输出,或者用户可以使用 JavaScript 创建数组并进行循环以方便使用。

示例

在此示例中,我们将进行一些基本的样式设置,例如添加背景颜色、设置对齐方式等。然后,我们将使用动画属性,之后将使用关键帧来为每一帧添加动画,以获得更流畅的输出。

<!DOCTYPE html>
<html lang="en">
   <head>
      <title>Example of using the keyframe</title>
      <style>
         body {
            background: black;
         }
         .text {
            width: 20%;
            top: 50%;
            position: absolute;
            left: 40%;
            border-bottom: 5px solid white;
            overflow: hidden;
            animation: animate 2s linear forwards;
         }
         .text h1 {
            color: white;
         }
         @keyframes animate {
            0% {
               width: 0px;
               height: 0px;
            }
            30% {
               width: 50px;
               height: 0px;
            }
            60% {
               width: 50px;
               height: 80px;
            }
         }
      </style>
   </head>
   <body>
      <div class="text">
      <h1> Hi How's your day going?<h1>
   </body>
</html>

以上代码是合并后的代码,输出结果如下

这是使用 HTML 和 CSS 代码后的输出结果。

结论

关键帧可用于指定特定帧的规则,我们也可以在其中使用不同的样式,以便属性每次都发生变化。关键帧的指定使用百分比,例如 0% 表示动画的开始,100% 表示动画的结束。规则中还可以包含"from"或"to"来表示动画的开始和结束。

在本文中,我们了解了如何使用 HTML 和 CSS 创建文本滑动动画。


相关文章


有用资源