你可能也試過對 AI 說:

「幫我做得高級一點。」

「加一些厲害的動畫。」

結果不是太普通,就是每個東西都在亂飛。

問題通常不是 AI 不會做,而是「高級」、「有質感」、「很酷」都不是能直接執行的動畫指令。AI 不知道你要動哪個元素、何時開始、移動多遠,也不知道成品最後要放進 React、Astro 還是 Webflow。

把這些條件講清楚,不只比較容易得到接近腦中畫面的第一版,也能減少自己反覆修改,或與外包來回確認的時間。

這篇整理 12 個常用詞,並把它們翻成可以直接放進 Prompt 的語言。它們不全是動畫技術:有些用來交代網站用途、有些指定開發環境,有些則負責動畫效果與無障礙限制。

先記住這個 Prompt 公式

【環境】+【網站用途】+【技術】+【觸發方式】+【元素/效果】+【限制】

完整範例:

用 React 製作攝影作品集。使用 GSAP ScrollTrigger,當使用者往下捲動時,讓作品圖片產生輕微視差,標題逐字淡入;支援手機版與 prefers-reduced-motion

使用時可以照這個順序:

  1. 先決定成品要放在哪個環境。
  2. 再選網站用途與動畫對象。
  3. 描述何時觸發、產生什麼效果。
  4. 最後補上手機版、效能與 Reduced Motion 等限制。
  5. 第一次只選一個主要動作,做對後再加下一個。

12 個關鍵字的快速地圖

  • Portfolio:告訴 AI「我要做什麼網站」。
  • React/Vue/Astro/Webflow:告訴 AI「程式最後要放在哪裡」。
  • Text Animation/SVG Animation:告訴 AI「什麼東西要動」。
  • Scroll Animation/UI Interactions:告訴 AI「什麼時候動、操作後怎麼回應」。
  • Three.js/WebGL:告訴 AI「要使用哪一層圖形技術」。
  • Reduced Motion:告訴 AI「如何照顧不適合大量動態的使用者」。

第一部分:先交代網站用途

01|Portfolio:先說清楚你在做作品集

Portfolio 是網站用途,不是動畫技術。輸入這個詞,是在告訴 AI:網站的重點是作品、個人介紹、服務與聯絡方式,而不是購物流程或複雜後台。

它適合設計師、攝影師、接案者、創作者、個人品牌與求職作品集,也會影響頁面的資訊順序、作品呈現方式、CTA 與導覽結構。

可直接複製:

幫我製作一個攝影 Portfolio。首頁先展示代表作品,再放 About、Services 與 Contact。版面以作品為主,不要讓動畫搶走照片的注意力。

常見誤區是只輸入「Portfolio」,卻沒有說作品類型。攝影、UI 設計、建築與程式作品集,需要的版面完全不同。

第二部分:指定開發環境

02|React:需要可重複使用的互動元件

React 適合元件化、狀態較多或互動較複雜的介面。當你輸入 React,AI 應該回傳 JSX/TSX 元件,而不是一整份只能貼進靜態頁面的 HTML。

它適合 Web App、產品介面、互動工具,以及需要重複使用的動畫元件。Prompt 裡最好補上 function component、props、動畫初始化與 cleanup。

可直接複製:

請把這個進場效果做成可重複使用的 React function component。使用 ref 指向元素,元件卸載時清除 GSAP 動畫與 ScrollTrigger,避免重複註冊。

03|Vue:希望輸出 Vue 單檔元件

Vue 的 Single-File Component 通常把 template、script 與 style 放在同一個 .vue 檔案。指定 Vue,可以避免 AI 回傳 React 語法或無法直接放入專案的程式。

如果是 Vue/Nuxt 專案,還要補充 Vue 版本、是否使用 script setup、動畫何時 mounted,以及離開時如何清除。

可直接複製:

請使用 Vue 3 Composition API 與 script setup,做成單一 .vue 元件。元件 mounted 後啟動動畫,unmounted 時移除事件與動畫實例。

04|Astro:內容網站只在需要時加入互動

Astro 元件預設在伺服器端或建置時轉成 HTML,不會自動把元件 JavaScript 全部送到瀏覽器。需要動畫時,要說清楚使用一般 script,或加入需要在客戶端執行的互動元件。

它適合內容網站、部落格、作品集、品牌官網與重視載入速度的頁面。Prompt 裡要指定輸出 .astro 元件、互動腳本放在哪裡,以及是否需要 client island。

可直接複製:

請做成 Astro 元件。靜態內容維持零客戶端 JavaScript;只有作品區的 ScrollTrigger 動畫在瀏覽器端初始化,並在 script 中完成設定。

05|Webflow:需要可以貼進 Embed 的版本

Webflow 使用 Code Embed 時,通常需要可直接貼上的 HTML、style 與 script,而不是 React 專案。部分 script 效果要在預覽或發布後才會真正執行。

Prompt 裡要交代:不要輸出 htmlheadbody 外層標籤;並標出程式要貼進 Embed、頁面 head 或 body 結尾的哪個位置。

可直接複製:

請提供可貼進 Webflow Code Embed 的版本,只使用 HTML、CSS 與 JavaScript。不要加入 html、head、body 外層標籤,並註明 GSAP CDN 與初始化程式應放在哪裡。

第三部分:指定動畫對象

06|Text Animation:文字要怎麼進場

Text Animation 可以再拆成逐字、逐詞、逐行、遮罩揭露、打亂重組與 stagger。只說「文字動畫」仍然太模糊,最好把拆分單位、方向、時間與順序一起說出來。

常用詞包括 characterwordlinesplitrevealmaskstaggerscramble

它適合 Hero 標題、章節標題、數字資訊與短句。長篇正文不要每一段都做拆字動畫。

可直接複製:

將主標題按照「每一行」拆分。進入畫面時,每行從下方 32px 移到原位並淡入,間隔 80ms,使用平順的 ease-out;不要使用彈跳。

07|SVG Animation:Logo、線條與路徑怎麼動

SVG 是向量圖形。常見動畫包括描邊出現、沿路徑移動、圖形變形與 Logo 組裝。AI 必須知道 SVG 的 path 結構,才能做出可靠效果。

常用詞包括 stroke drawpathmotion pathmorphviewBox。適合用在 Logo、圖示、地圖路徑、流程線與裝飾性線稿。

可直接複製:

讓 SVG Logo 的 path 產生手寫描邊效果。先設定 stroke-dasharray 與 stroke-dashoffset,再用 GSAP 由不可見繪製到完整;動畫結束後保持最終狀態。

第四部分:說明觸發與互動

08|Scroll Animation:動畫跟著頁面捲動

Scroll Animation 不只代表「捲到時播放」。你可以指定元素進入視窗時觸發、固定區塊、讓進度跟著捲動,或在離開時復原。

常用詞包括 triggerstartendpinscrubparallaxrevealsnap

  • pin:把元素固定在畫面某個位置。
  • scrub:動畫進度與捲動距離同步。
  • parallax:不同元素以不同速度移動,產生深度感。
  • reveal:元素進入指定位置時出現。

可直接複製:

使用 GSAP ScrollTrigger。當作品區頂端到達視窗 75% 時開始;圖片從 1.04 倍回到 1 倍並淡入。scrub 設為 0.8,不要 pin,手機版取消視差。

09|UI Interactions:操作之後介面怎麼回應

UI Interactions 是使用者 hover、click、drag、focus、open 或切換頁面時的回饋。重點不是讓介面一直動,而是讓使用者知道「我碰到什麼、剛才發生什麼」。

常用詞包括 hoverclickdragfocusmenu transitionpage transitionmicro-interaction。適合按鈕、選單、卡片、圖片預覽、游標與頁面切換。

可直接複製:

滑鼠移到作品卡片時,圖片在 500ms 內放大到 1.03,標題向上移動 8px;游標離開後平滑回到原位。鍵盤 focus 時提供相同的可見回饋。

第五部分:選擇 3D 與圖形技術

10|Three.js:比較容易操作的 3D 工具

Three.js 幫你處理場景、相機、燈光、材質、貼圖與 3D 物件。當你要的是產品模型、粒子場景、相機運動或 3D 空間,可以先輸入 Three.js。

Prompt 裡要補充模型格式、相機角度、燈光、滑鼠互動、載入狀態、手機降級方案與效能限制。

可直接複製:

使用 Three.js 載入 GLB 產品模型。相機保持固定,模型跟著滑鼠位置緩慢旋轉,最大角度 8 度;手機版只保留自動慢速旋轉,載入前顯示靜態封面。

11|WebGL:更底層的 GPU 圖形技術

WebGL 是瀏覽器中的圖形 API,可透過 GPU 繪製高效能 2D 與 3D 圖形。它適合 Shader、圖片扭曲、液態轉場與大量粒子,但開發與除錯成本通常比 Three.js 高。

先問自己:如果 Three.js 或 CSS 已經能完成,就不一定需要直接寫 WebGL。

可直接複製:

使用 WebGL fragment shader 製作圖片切換。切換時產生輕微水平波紋,持續 700ms;限制 device pixel ratio,低效能裝置改用一般淡入淡出。

第六部分:不要漏掉無障礙與限制

12|Reduced Motion:為不適合大量動態的人保留另一條路

Reduced Motion 是無障礙需求,不是風格。使用者可能在系統中設定減少動態,網站可以透過 prefers-reduced-motion 偵測,減少或替換非必要動畫。

應該優先減少大幅縮放、快速平移、長距離視差、持續旋轉與無法停止的背景動態。

不一定要刪掉所有動畫。必要的狀態回饋與理解內容所需的動畫可以保留,但幅度要更小、更直接。

可直接複製:

請支援 prefers-reduced-motion。當使用者選擇 reduce 時,停用 parallax、scrub 與大幅位移,改成 200ms 的 opacity 淡入;所有內容在沒有動畫時仍須完整可見。

六個完整 Prompt 範例

範例 1|攝影作品集的捲動進場

使用 React 製作攝影 Portfolio。使用 GSAP ScrollTrigger,當作品圖片進入視窗 80% 時,由下方 24px 移到原位並淡入,作品之間 stagger 100ms。手機版取消位移,只保留淡入;支援 prefers-reduced-motion。

範例 2|產品頁的文字 Hero

使用 Astro 製作產品介紹頁。將 Hero 主標題依「每一行」拆分,每行由遮罩下方 reveal,間隔 90ms。動畫只播放一次,頁面載入後 300ms 開始;不要使用彈跳或旋轉。

範例 3|SVG Logo 描邊

使用 SVG 與 GSAP 製作 Logo 描邊動畫。依 path 順序逐段繪製,總長度 1.4 秒;描邊完成後填色淡入。動畫結束後保持完整 Logo,Reduced Motion 模式直接顯示最終狀態。

範例 4|作品卡片 Hover

製作可貼進 Webflow Code Embed 的卡片互動。Hover 時圖片放大到 1.03、標題上移 8px、箭頭淡入;離開時以 450ms 回復。不要改變卡片尺寸,避免版面跳動。

範例 5|3D 商品展示

使用 Three.js 載入 GLB 模型,建立柔和環境光與一盞主光。模型依滑鼠位置最多旋轉 8 度,停止操作後緩慢回正。提供 loading、錯誤狀態、手機降級與靜態圖片 fallback。

範例 6|品牌頁的固定敘事區

使用 Vue 3 與 GSAP ScrollTrigger。當敘事區進入畫面後 pin 住標題,接下來三張圖片隨捲動依序淡入;總捲動距離為 250vh。元件卸載時清除 ScrollTrigger,手機版改成普通直向內容。

送出 Prompt 前的檢查表

  • 我有說明成品要放在 React、Vue、Astro、Webflow 或一般 HTML 嗎?
  • 我有說明這是 Portfolio、產品頁、活動頁或其他網站嗎?
  • 我有說清楚哪個元素要動嗎?
  • 我有說明動畫由載入、捲動、hover、click 還是 drag 觸發嗎?
  • 我有提供方向、距離、時間、順序或 easing 嗎?
  • 我有指定手機版要保留、簡化或取消哪些效果嗎?
  • 我有要求 Reduced Motion 與無動畫 fallback 嗎?
  • 我有要求 AI 告訴我程式放在哪裡、如何初始化與如何清除嗎?

五個最常見的錯誤

  1. 只寫「高級」、「炫」、「有科技感」,沒有可執行的動作。
  2. 一次要求十種動畫,卻沒有主次與出現順序。
  3. 沒有說開發環境,導致 AI 回傳錯誤格式。
  4. 只描述畫面,不描述觸發時機與結束狀態。
  5. 只顧桌面效果,沒有手機、效能與 Reduced Motion。

最後,先從一個效果開始

最有效的方式,不是一次寫出完美 Prompt。

先選一個元素、一個觸發方式與一個動作,讓 AI 做出第一版;看見結果後,再精確修改距離、速度、順序與限制。

AI 會做,但你要先知道怎麼描述。

這些關鍵字不是一次寫出完美成品的答案。它們只是讓第一版更接近需求;真正的差異,仍然來自看見結果之後的測試與修正。

官方資料延伸閱讀