文字動畫

模糊聚焦文字

進入視窗時整段文字由重模糊逐行聚焦清晰,適合段落敘事。

進入視窗時整段文字由重模糊逐步對焦清晰,可選擇逐行或逐詞的拆分粒度,依序淡入形成如鏡頭轉實般的敘事節奏,適合品牌故事、關於頁與段落文案。

把這個效果裝進你的專案

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

npx webberui@latest add blur-reveal-text

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

Playground

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

0.9
0.16
12
0
編輯中的呼叫預設屬性
<BlurRevealText/>

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

安裝

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

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

使用

import { BlurRevealText } from "@/components/ui/blur-reveal-text";

<BlurRevealText
  text={"清晨五點的山徑,霧氣還未散去。\n直到稜線的光穿透而來,\n世界才一行一行地,重新變得清晰。"}
  granularity="line"
/>

Props

Prop型別預設值說明
textstring—要顯示的整段文字;granularity 為 "line" 時以換行符 \n 分行
granularity"line" | "word""line"拆分粒度:逐行或逐詞聚焦(逐詞使用 Intl.Segmenter,中文也能正確分詞)
durationnumber0.9單一片段從模糊到清晰的時長(秒)
staggernumber0.16相鄰片段之間的延遲(秒)
blurnumber12起始模糊強度(px)
delaynumber0進入視窗後、開始動畫前的整體延遲(秒)
oncebooleantrue是否只播放一次;false 時離開視窗會重新模糊,再進入時重播
amountnumber0.3觸發動畫所需的可見比例(0–1)
classNamestring—透傳到外層容器

可及性

  • 使用者系統開啟「減少動態效果」時,跳過模糊動畫,直接渲染完整靜態文字
  • 完整文字以 sr-only 提供給螢幕閱讀器一次朗讀,拆分後的動畫片段對輔助科技隱藏(aria-hidden)
  • once 預設為 true,避免捲動時反覆重播造成干擾