如何使用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+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告