搜尋
首頁web前端css教學如何為您的網站創建CSS打字機效應

純CSS打造引人入勝的打字機文本效果

核心要點:

  • CSS打字機效果通過逐步顯示文本,使網站內容更具活力和吸引力,可用於登錄頁面、個人網站和代碼演示。
  • 打字機效果可通過使用CSS steps()函數將文本元素的寬度從0%更改為100%,並通過動畫模擬“打出”文本的光標來創建。
  • 可以通過增加或減少打字動畫的步數和持續時間來調整打字效果,以適應較長或較短的文本。
  • 打字機效果可以與閃爍的光標動畫結合使用以增強效果,並且可以通過調整其border-right屬性、顏色、閃爍頻率等來自定義光標。

本文將指導您如何使用純CSS創建動態、更具吸引力的網站文本打字機效果。

打字機效果模擬文本逐字顯示,如同在您眼前實時打字一般。

How to Create a CSS Typewriter Effect for Your Website

在文本片段中添加打字機效果有助於吸引網站訪問者,並保持他們繼續閱讀的興趣。打字機效果可用於多種用途,例如製作引人入勝的登錄頁面、號召性用語元素、個人網站和代碼演示。

輕鬆創建打字機效果

創建打字機效果非常簡單,您只需要具備CSS和CSS動畫的基礎知識即可理解本教程。

打字機效果的工作原理如下:

  • 打字機動畫將通過使用CSS steps()函數逐步將文本元素的寬度從0%更改為100%,從而顯示我們的文本元素。
  • 閃爍動畫將模擬“打出”文本的光標。

創建打字機效果網頁

首先,讓我們為打字機演示創建一個網頁。它將包含一個用於打字機文本的<div>容器,其類名為<code>typed-out

<!doctype html>
<html>
  <head>
    <title>Typewriter effect</title>
    <style>
      body{
        background: navajowhite;
        background-size: cover;
        font-family: 'Trebuchet MS', sans-serif; 
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="typed-out">Web Developer</div>
    </div>
  </body>
</html>

為打字機文本容器設置樣式

現在我們有了網頁的佈局,讓我們為具有“typed-out”類的<div>設置樣式: <pre class='brush:php;toolbar:false;'>.typed-out { overflow: hidden; border-right: .15em solid orange; font-size: 1.6rem; width: 0; }</pre> <p>請注意,為了使打字機效果生效,我們添加了以下內容:</p> <ul> <li> <code>"overflow: hidden;""width: 0;",確保在打字效果開始之前不會顯示文本內容。

  • "border-right: .15em solid orange;",創建打字機光標。
  • 在製作打字效果之前,為了在完全打出typed-out元素的最後一個字母后停止光標(就像打字機或文字處理器一樣),我們將為typed-out元素創建一個容器並添加display: inline-block;

    .container {
      display: inline-block;
    }

    製作顯示文本動畫

    打字機動畫將創建typed-out元素內的文本逐字顯示的效果。我們將使用@keyframes CSS動畫規則:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    如您所見,此動畫所做的只是將元素的寬度從0%更改為100%。

    現在,我們將此動畫包含在我們的typed-out類中,並將它的動畫方向設置為forwards,以確保動畫結束後文本元素不會返回到width: 0

    .typed-out {
      overflow: hidden;
      border-right: .15em solid orange;
      font-size: 1.6rem;
      width: 0;
    }

    我們的文本元素將以一種平滑的方式從左到右顯示:

    添加步驟以實現打字機效果

    到目前為止,我們的文本已顯示,但它是一種平滑的方式,不會逐字顯示文本。這是一個開始,但顯然它不像打字機效果那樣。

    為了使此動畫逐字或逐步顯示我們的文本元素(就像打字機一樣),我們需要將typed-out類包含的打字動畫分成幾步,以便使其看起來像是在打出一樣。這就是CSS steps()函數發揮作用的地方:

    .container {
      display: inline-block;
    }

    如您所見,我們使用CSS steps()函數將打字動畫分成20個步驟。

    調整步驟以獲得更長的打字效果

    要調整較長的文本,您需要增加打字動畫的步驟和持續時間。

    調整步驟以獲得更短的打字效果

    要調整較短的文本,您需要減少打字動畫的步驟和持續時間。

    製作和設置閃爍光標動畫

    顯然,最初的機械打字機沒有閃爍的光標,但將其添加進去以模仿更現代的計算機/文字處理器的閃爍光標效果已成為傳統。閃爍的光標動畫有助於使打出的文本更能從靜態文本元素中脫穎而出。

    要向我們的打字機動畫添加閃爍的光標動畫,我們將首先創建閃爍動畫:

    @keyframes typing {
      from { width: 0 }
      to { width: 100% }
    }

    在我們的網頁中,此動畫將把typed-out元素邊框(用作打字機效果的光標)的邊框顏色從透明更改為橙色。

    我們將此動畫包含在typed-out類的規則中,並將它的動畫方向屬性設置為infinite,以使光標每0.8秒無限期地消失和重新出現:

    .typed-out{
        overflow: hidden;
        border-right: .15em solid orange;
        white-space: nowrap;
        font-size: 1.6rem;
        width: 0;
        animation: typing 1s forwards;
    }

    調整閃爍打字效果的代碼

    我們可以通過調整其border-right: .15em solid orange;屬性來使光標更細或更粗,或者您可以使光標顏色不同,賦予它border-radius,調整其閃爍頻率等等。

    組合打字機文本動畫的元素

    現在您已經知道如何在CSS中製作打字機效果,是時候演示此打字效果的一些實用且相關的用例了。

    結論

    在本文中,我們了解了使用CSS創建動畫“打字機”文本是多麼容易。這種打字效果絕對可以為您的網頁增添趣味和樂趣。

    不過,也許值得最後溫和地警告一下。此技術最好用於少量非關鍵文本,只是為了增加一點額外的樂趣。但請注意不要過度依賴它,因為像這樣使用CSS動畫有一些局限性。請確保在各種設備和視口大小上測試您的打字機文本,因為結果可能因平台而異。還要考慮一下依賴輔助技術的最終用戶,理想情況下,可以進行一些可用性測試,以確保您不會給用戶帶來不便。因為您可以使用純CSS來做一些事情並不一定意味著您應該這樣做。如果打字機效果對您很重要,並且您想將其用於更關鍵的內容,也許至少也要考慮一下JavaScript解決方案。

    無論如何,我希望您喜歡這篇文章,並且它讓您開始思考您可以使用CSS動畫做些什麼其他很酷的事情,以增加您的網頁的趣味和樂趣。

    關於創建CSS打字機效果的常見問題

    最後,讓我們回答一些關於如何在CSS中創建打字機效果的最常見問題。

    • 什麼是打字機效果?

    “打字機效果”是一種動畫技術,它使一串文本逐字出現在屏幕上,就像它正在由打字機實時打出一樣。此效果通常藉助JavaScript創建,但也可以僅使用CSS實現,如本文所示。

    • 什麼是打字機動畫?

    打字機一次打印一個字母的文本。打字機動畫是一種模仿打字機打字的動畫,一次呈現一個字母的文字。它是許多網頁上流行的動畫效果。

    • 如何在CSS中製作動畫文本打字?

    現代CSS提供了各種創建動畫的工具,包括animation@keyframessteps()。這些工具用於逐漸顯示首先通過overflow屬性隱藏的文本。

    • 如何使用CSS製作可自定義的打字機動畫?

    使用CSS創建可自定義的打字機動畫涉及使用關鍵幀和CSS屬性來控製文本在屏幕上打字時的外觀和行為。您可以通過將一些動畫參數公開為CSS變量(自定義屬性)來使其可自定義,以便您可以輕鬆地在樣式表中更改它們。例如:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    在此CSS代碼中,我們定義了自定義屬性(--typewriter-text--typewriter-duration)以使動畫可自定義。您可以通過修改這些屬性來更改默認值。

    • 如何在完全打出typed-out元素的最後一個字母后停止光標?

    要在CSS打字機動畫中停止typed-out元素的最後一個字母的光標,您可以使用CSS動畫和animation-fill-mode屬性:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    在上面的CSS中,打字機動畫逐漸增加.typewriter容器內元素的寬度,有效地打出文本。 animation-fill-mode屬性設置為forwards以確保動畫在完成之後保持最終狀態(完全打出)。通過此設置,光標將在完全打出typed-out元素的最後一個字母后在其處閃爍。

    • 有哪些有效使用打字機效果的網站示例?

    打字機動畫通常用於諸如投資組合網站之類的網站,尤其是在設計師和開發人員的網站上,它們用於突出關鍵技能並為頁面增添創意感,從而吸引讀者的注意力。打字機效果有時也用於博客網站和登錄頁面以及產品演示中。

    以上是如何為您的網站創建CSS打字機效應的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    有點提醒您偽元素是孩子,有點。有點提醒您偽元素是孩子,有點。Apr 19, 2025 am 11:39 AM

    這裡有一個帶子元素的容器:

    菜單具有'動態命中區域”菜單具有'動態命中區域”Apr 19, 2025 am 11:37 AM

    飛翔的菜單!您需要在第二個菜單中實現懸停事件以顯示更多菜單項的菜單,即您在棘手的領域中。一方面,他們應該

    通過Webvtt改善視頻可訪問性通過Webvtt改善視頻可訪問性Apr 19, 2025 am 11:27 AM

    “網絡的力量在於其普遍性。每個人的訪問無論殘疾是一個重要方面。” - 蒂姆·伯納斯 - 李

    每周平台新聞:CSS :: Marker偽元素,預先渲染的Web組件,向您的網站添加Webmention每周平台新聞:CSS :: Marker偽元素,預先渲染的Web組件,向您的網站添加WebmentionApr 19, 2025 am 11:25 AM

    在本週的綜述中:datepickers正在讓鍵盤用戶頭痛,一個新的Web組件編譯器,有助於與Fouc進行戰鬥,我們終於獲得了造型列表項目標記,以及在您的網站上獲得網絡攻擊的四個步驟。

    使寬度和靈活的物品一起玩得很好使寬度和靈活的物品一起玩得很好Apr 19, 2025 am 11:23 AM

    簡短的答案:您可能要尋找的是彈性折射和彈性基礎。

    位置粘性和桌子標頭位置粘性和桌子標頭Apr 19, 2025 am 11:21 AM

    您可以位置:粘性;一個

    每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢Apr 19, 2025 am 11:18 AM

    在本週的Web平台新聞世界中,Google搜索控制台可以更輕鬆地查看爬行的標記,我們了解到自定義屬性

    Indieweb和網絡企業Indieweb和網絡企業Apr 19, 2025 am 11:16 AM

    Indieweb是一回事!他們將舉行會議和一切。紐約客甚至在寫這件事:

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱工具

    SecLists

    SecLists

    SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript開發工具

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。