WebberUI

Device Mockup

Safari/iPhone/Android 裝置外框展示,含 hover 3D 傾斜、漂浮與進場動畫。

把任意內容(截圖、live UI)裝進 Safari 桌面瀏覽器或 iPhone/Android 手機外框,附帶跟隨游標的 3D 傾斜與玻璃高光。

載入預覽⋯

Playground

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

12
<DeviceMockup />

安裝

npx shadcn@latest add https://webberui.com/r/device-mockup.json

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

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

npm install motion clsx tailwind-merge

使用

import { DeviceMockup } from "@/components/ui/device-mockup";

<DeviceMockup variant="safari" url="webberui.com" className="w-[420px]">
  <img src="/screenshot.png" alt="App" className="h-full w-full object-cover" />
</DeviceMockup>;

variant"iphone""android" 即切換為手機外框;手機外框寬度固定,safari 則靠外層 className(如 w-[420px])控制寬度。

Props

Prop型別預設值說明
variant"safari" | "iphone" | "android""safari"裝置外框樣式
urlstring"webberui.com"Safari 位址列文字(手機不顯示)
tiltnumber12hover 3D 傾斜最大角度(deg);設 0 關閉
floatbooleanfalse持續上下漂浮
revealbooleantrue首次進入視口時淡入上浮
childrenReactNode螢幕內容
classNamestring套在最外層容器(控制寬度)
screenClassNamestring套在螢幕內容框(背景、內距)

可及性

  • 使用者系統開啟「減少動態效果」時,關閉傾斜、漂浮與進場動畫,直接靜態呈現
  • 傾斜僅在滑鼠指標時觸發,觸控裝置不受影響
  • 裝飾性外框元素皆標記 aria-hidden,不干擾螢幕內容的朗讀

On this page