覆蓋層與回饋

Link Preview

hover 錨點時浮出動態網站預覽卡,卡片跟隨游標傾斜,純 canvas 2D 繪製,不需外部圖片。

hover 內文連結時,上方浮出一張擬真的網站預覽卡——瀏覽器工具列、網址列與落地頁版面全由 canvas 2D 即時繪製,配色依網域自動生成。卡片會跟隨游標水平移動並輕微傾斜。

把這個效果裝進你的專案

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

npx webberui@latest add link-preview

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

Playground

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

320
200
40
編輯中的呼叫預設屬性
<LinkPreview/>

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

安裝

npx webberui@latest add https://webberui.com/r/link-preview.json

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

使用

import { LinkPreview } from "@/components/ui/link-preview";

<p>
  我們用 <LinkPreview url="https://motion.dev">Motion</LinkPreview> 打造動畫。
</p>

children 是可見的錨點內容,url 同時作為連結目標與預覽卡的配色種子。同一個網域每次都會得到一致的色調。

Props

Prop型別預設值說明
urlstring—連結目標,也用來生成網域列與配色
childrenReact.ReactNode—可見的錨點內容
widthnumber320預覽卡寬度(px)
heightnumber200預覽卡高度(px)
accentstring—覆寫主色(HSL/HEX);不給則依網域雜湊生成
follownumber40卡片跟隨游標水平位移的最大幅度(px)
openInNewTabbooleantrue是否在新分頁開啟連結
classNamestring—透傳到錨點的樣式

可及性

  • 使用者系統開啟「減少動態效果」時,卡片以淡入淡出取代跟隨與傾斜的彈簧動畫
  • 連結可鍵盤聚焦,focus 時同樣浮出預覽卡;預覽卡本身標記 aria-hidden,不干擾朗讀
  • canvas 只在 useEffect 內繪製並依 devicePixelRatio 縮放,SSR 不會出現 hydration 落差