WebberUI

Ken Burns 幻燈片

緩慢縮放平移的經典紀錄片式幻燈片,交叉淡接。

以經典紀錄片運鏡(Ken Burns effect)呈現的幻燈片:每張畫面緩慢縮放與平移、方向逐張輪替,切換時交叉淡接,附底部圓點導航與懸停暫停,畫面以漸層與 SVG 山景模擬照片、完全自包含。

載入預覽⋯

Playground

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

8000
1200
1.16
<KenBurnsSlideshow />

安裝

npx shadcn@latest add https://webberui.com/r/ken-burns-slideshow.json

或在 components.json 設定 registries 後,改用 @webberui/ken-burns-slideshow 安裝。

安裝依賴後,從 registry JSON(/r/ken-burns-slideshow.jsonfiles[0].content)複製 ken-burns-slideshow.tsx 原始碼到你的 components/ui/ 目錄:

npm install motion lucide-react clsx tailwind-merge

使用

import { KenBurnsSlideshow } from "@/components/ui/ken-burns-slideshow";

<KenBurnsSlideshow
  slides={[
    { title: "山嵐初醒", subtitle: "清晨的高山雲海", hue: 210 },
    { title: "金色稻浪", subtitle: "秋收時節的田野", hue: 42 },
  ]}
  duration={8000}
/>

Props

Prop型別預設值說明
slidesKenBurnsSlide[]幻燈片資料,每項含 titlesubtitle? 與主色相 hue(0–360)
durationnumber8000每張停留時間(毫秒)
fadeDurationnumber1200交叉淡接的時長(毫秒)
zoomnumber1.16Ken Burns 最大縮放幅度(≥ 1.02)
autoPlaybooleantrue是否自動播放
pauseOnHoverbooleantrue游標懸停時是否暫停自動播放
classNamestring透傳到外層容器,可覆寫比例與圓角

可及性

  • 使用者系統開啟「減少動態效果」時,停用縮放平移運鏡與自動播放,僅保留圓點與方向鍵手動切換
  • 容器可聚焦(role="region" + aria-roledescription="輪播"),支援左右方向鍵切換上一張/下一張
  • 每個圓點按鈕具描述性 aria-label(含張數與標題),當前張標記 aria-current
  • aria-live="polite" 的隱藏區塊向螢幕閱讀器播報當前張數與標題
  • 游標懸停即暫停自動播放並顯示暫停指示,方便閱讀字幕內容

On this page