文字動畫

Falling Text

字元帶重力掉落並彈跳落定的文字動畫,可調重力、回彈與觸發時機。

每個字元從上方落下,撞到基線後依回彈係數彈跳,能量耗盡便靜止歸位——純物理模擬,逐幀直接改 transform,不觸發 React 重繪。

把這個效果裝進你的專案

在專案資料夾執行指令,CLI 會加入原始碼與依賴套件,再依下方使用範例引用元件。

npx webberui@latest add falling-text

還沒有專案,或安裝遇到問題?看快速開始 →

Playground

即時調整 props、程式碼片段同步更新——直接試出你要的樣子再複製。

2200
0.4
0.05
220
編輯中的呼叫預設屬性
<FallingText/>

完整範例包含預覽的排版與資料。先安裝元件,再把範例檔貼入你的專案。

安裝

npx webberui@latest add https://webberui.com/r/falling-text.json

或在 components.json 設定 registries 後,改用 @webberui/falling-text 安裝。

使用

import { FallingText } from "@/components/ui/falling-text";

<FallingText text="Gravity wins." className="text-5xl font-bold" />

因為字元落定前會停在靜止位置的正上方,請把它放進有足夠高度且 overflow-hidden 的有界容器(例如 h-[320px]),才不會掉出畫面。

Props

Prop型別預設值說明
textstring—要動畫的文字
by"char" | "word""char"拆分單位
trigger"view" | "auto" | "hover""view"觸發時機:進入視口、掛載即播、或滑鼠移入
gravitynumber2200重力加速度(px/s²),越大掉得越快
bouncenumber0.4落地回彈係數(0–1),越大彈得越高
staggernumber0.05每個單位起跳的間隔(秒)
fallHeightnumber220起始高度:從靜止位置往上多少 px 掉落
rotatebooleantrue掉落時附帶隨機傾斜,落定後回正
oncebooleantrue只在第一次觸發時播放

可及性

  • 使用者系統開啟「減少動態效果」時,直接渲染靜態文字
  • 完整字串以 sr-only 提供給輔助科技朗讀,拆分後的單位標記 aria-hidden