如何使用HTML和CSS创建滑动文字揭示动画?


你可能在不同的网站上见过滑动文字揭示动画,例如个人作品集网站,甚至不同的视频内容,这为用户提供了不同的体验,并且文字感觉更生动。滑动文字动画可以使用HTML和CSS轻松制作,这将吸引访问我们网站的用户。

在这篇文章中,我们将了解如何仅使用HTML和CSS创建滑动文字揭示动画。

如何创建滑动动画?

让我们讨论一下可以用于创建滑动动画的方法。动画的开始将显示我们的第一个文字,在本例中为“早上好”,然后文字将向左滑动,然后第二个文字“你今天过得如何”将通过向右滑动而显示。

我们将使用关键帧属性将动画分成不同的部分,以便最终动画看起来更流畅。让我们看看关键帧属性的语法。

语法

@keyframes appear
@keyframes slide
@keyframes reveal

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

  • 在keyframes slide中,我们将文字向侧面移动。

  • 在keyframes reveal中,我们将显示整个文本的其余部分。

示例

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

<!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创建一个数组并进行循环以方便操作。

示例

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

<!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创建文本滑动动画。

更新于:2023年2月24日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.