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

如何為您的網站創建CSS打字機效應

Feb 08, 2025 am 10:20 AM

純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>設置樣式:

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

請注意,為了使打字機效果生效,我們添加了以下內容:

  • "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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

紙張形式 紙張形式 Apr 16, 2025 am 11:24 AM

購買或建造是技術的經典辯論。自己構建東西可能會感覺更便宜,因為您的信用卡賬單上沒有訂單項,但是

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭 它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭 Apr 15, 2025 am 11:01 AM

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要

託管您自己的非JavaScript分析的選項 託管您自己的非JavaScript分析的選項 Apr 15, 2025 am 11:09 AM

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

See all articles