科技教育創新專區 › 部落格

🖼️ #60 專屬創意 3D 畫廊:純 CSS transform-style preserve-3d 真實 3D 空間 + 拖曳旋轉 + 慣性滑動 + 倒影效果

黃凱揚(阿凱老師) · 桃園市龍潭區石門國民小學 · 2026-05-21

#60「**🖼️ 專屬創意 3D 畫廊**」是阿凱用**純靜態零依賴**寫的 3D 旋轉木馬照片畫廊。CSS `transform-style: preserve-3d` 真實 3D 空間感 + 滑鼠拖曳旋轉 + 觸控手勢 + **慣性滑動效果**(仿物理摩擦感)+ 本機圖片上傳 + `-webkit-box-reflect` 地板倒影 + RWD。

「3D 畫廊」展示學生作品的真實場景

學校每學期累積大量學生作品:

傳統呈現方式:

阿凱的 #60 專屬創意 3D 畫廊 反向:真實 3D 旋轉木馬 + 拖曳互動 + 倒影效果。

#60 真實怎麼做?

真實標題:「🖼️ 專屬創意 3D 畫廊」

核心定位:「一個純靜態、零依賴的互動式 3D 旋轉木馬照片畫廊,支援本機圖片上傳與完整觸控操作」

完整 7 大功能(從 README 抽出):

功能 A:🎠 3D 旋轉木馬

功能 B:🖱️ 滑鼠拖曳旋轉

功能 C:📱 觸控手勢支援

功能 D:⚡ 慣性滑動效果(神細節)

功能 E:📁 本機圖片上傳

功能 F:🌙 倒影效果

功能 G:📐 RWD 響應式

真實技術棧(極簡)

為什麼用「純 CSS 3D」而不是 Three.js?

對比阿凱另兩個 3D 工具:

選擇邏輯:

用對工具是工程師的修養(再次!)— 阿凱不會為了簡單畫廊套整個 Three.js 引擎。

transform-style: preserve-3d 是什麼?

CSS 3D 變形的關鍵屬性:

.gallery {
  transform-style: preserve-3d; /* 子元素保留 3D 變形 */
  perspective: 1000px;          /* 透視距離 */
  transform: rotateY(0deg);     /* 旋轉角度 */
}

.photo {
  transform: translateZ(300px);  /* 推到 3D 空間中 */
}

→ 真實 3D 空間感(不是 2D 平移模擬)。

跟 #32 #34 觸屏互動系列

#工具互動類型
#32 觸屏碰碰碰點擊互動隨機圖案浮動
#34 影像聲音遊戲區多元互動抓按鈕 + 拍照 + 360°
#60 3D 畫廊(本篇)拖曳旋轉互動3D 空間感

阿凱「為大型觸控螢幕設計」系列再 +1 案例。

教學情境

藝術與人文課展學生作品:

校慶 / 親職日展覽:

畢業班禮物:

學期末展覽:

配對工具推薦

適用對象

想試試?

→ 前往 #60 專屬創意 3D 畫廊

第一次玩 — 本機上傳幾張照片 → 拖曳旋轉 → 看 慣性滑動 + 倒影效果 = **「這是純 CSS?」**會驚豔。

開源原始碼:參考這個工具做出你的版本

阿凱老師大部分的教育工具都在 GitHub 公開原始碼,歡迎老師、學生與開發者參考改造成適合自己情境的版本。文章頁左下角的「複製 AI 開發提示詞」可把工具資料與原始碼連結一次交給 ChatGPT、Claude、Gemini 等 AI 助手。