搜尋

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題

通常 Vibe Codeing 時,一開始通常會因為 AI 快速產出功能而感到「驚艷」,但隨著開發流程的進展,就會開始發現各種的「不可控」,例如樣式錯誤、每次改了 A 結果 B 也跟著改...等,進而也逐漸出現各種「灰心」和「無力」的感受,這篇教學會利用一個簡單的「世界時鐘」頁面,運用一些開發流程的方法,讓各種 AI 都可以乖乖聽話,產生類似且接近的成果。

快速導覽:

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題

第一步、確認功能需求

很多人在嘗試 Vibe Coding 時,都會經歷一段「從天堂掉到地獄」的過程!一開始 AI 幾秒鐘產出功能會讓人感到無比驚艷,但隨著開發進入細節,就會發現樣式開始失控,改了左邊結果右邊就壞掉,或是明明想要極簡風,AI 卻越改越凌亂,因此可以透過下列的流程,讓整體風格樣式一致。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第一步、確認功能需求

了解流程之後,接下來就要進行所有的網頁或應用程式而言最關鍵的起手式:「撰寫功能需求」,有了功能需求,接著才能根據需求進行開發,許多沒有接觸軟體開發但又想要 Vibe Coding 的程式新手,往往會忽略掉「需求」的重要,而全盤交由 AI 處理,如此一來整個頁面會出現許多「不可控」的例外狀況,因此列出功能需求是最重要的第一步!

舉例來說,如果要製作一個簡單的「世界時鐘」的網頁,可能要具備下列功能需求:

  • 畫面上有六個不同的城市:台灣、東京、首爾、紐約、洛杉磯、巴黎。
  • 六個城市分別顯示對應台灣的時間。
  • 可以透過「設定功能」,指定台灣時間,或還原目前的時間。
  • RWD 網頁,可以在手機上查看。

第二步、產生示意圖 ( 靜態圖片 )

了解功能需求後,就會進入第二步「討論流程和 Wireframe ( 線框圖 )」的階段,因為這個世界時鐘網頁的流程很簡單,所以可以直接先請 AI 產生 Wireframe 線框圖,不過因為 AI 可以直接產生完整的畫面,所以可以讓 AI 產生最後的示意圖。

特別注意:

  • 如果功能複雜,建議還是要先繪製流程圖確認功能。
  • 此處的是示意圖是完全沒有任何互動功能的「靜態圖片」,單純查看風格和配色 ( 類似先請設計師繪製示意圖,老闆覺得沒有問題了再繼續開始做 )。

根據剛剛的功能需求,在腦中稍微思考畫面,接著根據腦中需求撰寫提示詞 ( 範例使用 Gemini 生成圖片 ),這個步驟可能會執行多次修改提示詞或風格 ( 如同會請設計師反覆修改成自己想要的樣式 ),除了直接透過 AI 產圖,也可以運用影像處理軟體修改圖片,直到產生自己想要的示意圖為止,下方是這個範例產生的示意圖。

注意,示意圖不等於最後產出的畫面,只是讓最後產出畫面有「參考依據」,可以產生更為接近的樣式。

請幫我產生一張世界時鐘的網頁示意圖
- 畫面標題:世界時鐘
- 畫面上有六個區塊,分別呈現六個地點的目前時間:台灣、東京、首爾、紐約、洛杉磯、巴黎。
- 六個區塊裡都要有該國家的國旗、與台灣時差。
- 有一個設定按鈕。
- 風格:扁平化設計、現代化、可愛  

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第二步、產生示意圖與分析示意圖

第三步、分析示意圖產生提示詞 ( 分析靜態圖片 )

如果 AI 可以讀取示意圖圖檔,就可以直接讓 AI 參考,但因為某些 AI 工具無法觀察示意圖或讀取示意圖產生幻覺,建議可以先透過 AI 分析示意圖,產生對應的提示詞,例如版面配置、色碼、字體大小...等,屆時直接提供提示詞,就可以避免 AI 幻覺,並產生類似的畫面。

開啟一個新的 AI 對話視窗,上傳剛剛的圖片,搭配下列的提示詞,就可以讓 AI 分析並產生要生成這個頁面的提示詞:

附圖是我再來要產生的網頁參考圖,請你幫我分析這個畫面和色碼,並產生各個功能樣式的提示詞,讓 AI 可以根據提示詞設定網頁樣式
- 頁面配置
- 設定按鈕
- 主要區塊樣式

分析之後會產生類似下方的提示詞,產生之後也可以再根據需求自行修改 ( 下方提示詞是針對剛剛的範例圖片 )。

1.頁面配置 ( Page Layout )
提示詞:「極簡風格的網頁介面佈局,背景為清爽的淡藍色線性漸層。標題「World Clock」居中對齊,採用粗體無襯線字體。整體採用響應式兩欄網格系統 ( Two-column grid layout ),元件之間保有寬敞的留白感 ( Whitespace ) ,呈現出通透且有條理的視覺結構。」

2.設定按鈕 ( Settings Button )
提示詞:「位於頁面右上角的懸浮功能按鈕,圓形外觀,色彩選用鮮豔的活力橘色 ( F3814D )。中心嵌入簡潔的白色齒輪圖標,帶有細微的擴散陰影 ( Soft Drop Shadow ) 以增加立體懸浮感,在淺色背景中成為醒目的視覺焦點。」

3.主要區塊樣式 ( Main Card Style )
提示詞:「玻璃擬態 ( Glassmorphism ) 風格的時鐘卡片,些微半透明的純白色背景搭配大圓角設計。卡片頂部水平排列國旗圖示與城市名稱;中心為超大字體的數位時間,黑色字體且筆畫俐落;底部則是淺灰色的時區資訊文字 ( 如 GMT+8 )。卡片四周帶有非常柔和的環境陰影,營造出輕盈的層次感。」

第四步、產生基本功能 ( 開始產生網頁 )

如果產生示意圖以及描述示意圖是「設計師」的工作,接下來就要讓「工程師」先產生「沒有畫面的基本功能」,這個步驟對於 Vibe Coding 非常重要,因為不同的 AI 工具會套用不同的「框架」或「預設喜好」,往往也因為這些框架讓程式很難修改且無法共通 ( 就像不同的工程師喜歡套用不同的框架或套件 ),所以先產生最基本的功能,可以確保不論哪種 AI 都可以共通。

開啟新的 AI 對話視窗,修改提示詞,請 AI 開啟 Canvas ( 畫布功能 ) 產生網頁,特別注意,接下來的提示詞裡都有加上版本的名稱,如此一來如果有問題,可以隨時返回特定版本。

我要做一個「世界時鐘」的網頁,我會按照開發流程慢慢開發,請你開啟畫布,按照下列指令跟我一起協作網頁:
- 版本:第一版,測試功能
- 不要套用任何框架和 CSS 樣式,只使用純 HTML 和 JS。
- 畫面上有六個區塊,分別呈現六個地點的目前時間:台灣、東京、首爾、紐約、洛杉磯、巴黎。
- 六個區塊裡都要有該國家的國旗、與台灣的時差。
- 六個地區的時間以台灣時間為主做轉換。
- 提供一個修改區塊,裡面有一個修改時間欄位和按鈕,功能:修改台灣目前時間、還原目前時間。

下圖呈現 Gemini ( free 快捷 )、Gemini ( pro 思考 )、ChatGPT ( free ) 和 Canva AI ( free ) 產生的頁面,可以看出除了 HTML 套用的標籤不同 ( 套用 h1 標籤的標題字體會比較大 ),因為沒有套用樣式,所以基本上大同小異。

在這個步驟因為只有基本功能,所以可以很清楚知道哪邊需要修改,修改時比較不容易出現幻覺或錯誤。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第三步、產生基本功能

第五步、調整與改善功能 ( 調整網頁版面 )

從上述的基本功能可以觀察到,不論哪種 AI 都可以產生類似的畫面,接下來就要加上一些基本的排版 ( 還沒有進入最後排版 ),輸入下列提示詞,將設定時間按鈕隱藏,並讓地點區塊變成水平排列。

特別注意,一直到這個步驟為止,都還沒有進入最後真正的視覺設計排版,都還只是在功能與基本版面測試階段。

- 版本:第二版,進階功能
- 不要套用任何框架和 CSS 樣式,只使用純 HTML、JS 和功能必需的 CSS 樣式。
- 畫面上的六個區塊改成水平排列,一列最多三個,若視窗寬度變小就會換行。
- 隱藏時間修改區塊
- 增加一個設定按鈕,點擊之後用「彈出視窗」顯示時間修改功能。

下圖呈現 Gemini ( free 快捷 )、Gemini ( pro 思考 )、ChatGPT ( free ) 和 Canva AI ( free ) 產生的頁面,可以看出不同的 AI 在設計頁面時,開始會嘗試加入一些簡單的樣式,但整體來說仍然沒有差異太大。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第四步、調整與改善功能

第六步、套用示意圖樣式 ( 套用視覺設計 )

「畫面」和「功能」都有了之後,接著就要進行「整合」,這也是 Vibe Coding「最難掌控」的地方,常常為了改一個小功能,整個畫面又改變了,不過因為在之前的步驟中,已經將畫面和功能區隔,所以就可以較為精準的掌握這個步驟,但為了避免「牽一髮動全身」,將剛剛的畫面提示詞拆分成細部功能,一個一個逐一實現較為保險,首先使用和「頁面設計」有關的提示詞 ( 如果 AI 支援上傳圖片參考也可以提供圖片 ):

- 版本:第三版,頁面設計
- 頁面配置 ( Page Layout ):極簡風格的網頁介面佈局,背景為清爽的淡藍色線性漸層。標題「World Clock」居中對齊,採用粗體無襯線字體。整體採用響應式兩欄網格系統 ( Two-column grid layout ),元件之間保有寬敞的留白感 ( Whitespace ) ,呈現出通透且有條理的視覺結構。」
-  主要區塊樣式 (Main Card Style):玻璃擬態 ( Glassmorphism ) 風格的時鐘卡片,稍微透明的純白色背景搭配大圓角設計。卡片頂部水平排列國旗圖示與城市名稱;中心為超大字體的數位時間,黑色字體且筆畫俐落;底部則是淺灰色的時區資訊文字 ( 如 GMT+8 )。卡片四周帶有非常柔和的環境陰影,營造出輕盈的層次感。

下圖呈現 Gemini ( free 快捷 )、Gemini ( pro 思考 )、ChatGPT ( free ) 和 Canva AI ( free ) 產生的頁面,可以看出原本的版面已經套用特定樣式,因為功能和樣式分離,不論哪種 AI 都可以產生類似的畫面 ( 但仍然會有一些細節不同 )。

通常基本上版面配置應該不會有問題,但一些細節可能需要自行透過提示詞調整,例如字體大小、間距、圖示大小...等。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第五步、套用示意圖樣式 ( 套用視覺設計 )

如果主要的畫面已經沒有問題,就可以繼續修改「設定按鈕」樣式,使用下列提示詞修改設定按鈕 ( 如果希望齒輪的圖案一致,也可以提供 AI 齒輪的 SVG 程式碼 ):

- 版本:第四版,設計設定按鈕
- 設定按鈕 (Settings Button):位於頁面右上角的懸浮功能按鈕,圓形外觀,色彩選用鮮豔的活力橘色 ( F3814D )。中心嵌入簡潔的白色齒輪圖標,帶有細微的擴散陰影 ( Soft Drop Shadow ) 以增加立體懸浮感,在淺色背景中成為醒目的視覺焦點。
- 齒輪的 SVG 程式碼:「<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path d="M29.181 19.070c-1.679-2.908-0.669-6.634 2.255-8.328l-3.145-5.447c-0.898 0.527-1.943 0.829-3.058 0.829-3.361 0-6.085-2.742-6.085-6.125h-6.289c0.008 1.044-0.252 2.103-0.811 3.070-1.679 2.908-5.411 3.897-8.339 2.211l-3.144 5.447c0.905 0.515 1.689 1.268 2.246 2.234 1.676 2.903 0.672 6.623-2.241 8.319l3.145 5.447c0.895-0.522 1.935-0.82 3.044-0.82 3.35 0 6.067 2.725 6.084 6.092h6.289c-0.003-1.034 0.259-2.080 0.811-3.038 1.676-2.903 5.399-3.894 8.325-2.219l3.145-5.447c-0.899-0.515-1.678-1.266-2.232-2.226zM16 22.479c-3.578 0-6.479-2.901-6.479-6.479s2.901-6.479 6.479-6.479c3.578 0 6.479 2.901 6.479 6.479s-2.901 6.479-6.479 6.479z"></path>
</svg>」

完成之後應該不論哪個 AI,都可以產生完全相同的設定按鈕 ( 注意右上角的橘色設定按鈕 )。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第五步、套用示意圖樣式 ( 套用視覺設計 ) 修改「設定按鈕」樣式

最後使用下列提示詞修改提示詞視窗:

- 版本:第五版,彈出視窗設計
- 標題: 「設定時間」,字體粗體,深色。
- 副標題: 「調整台灣基準時間,所有城市將同步連動。」,字體較小,灰色。
- 輸入框: 一個寬大的圓角輸入框,內含日期與時間佔位符,右側有一個日曆圖標。
- 按鈕群: 三個垂直排列的圓角按鈕。
  > 第一個:橙色背景,白色文字「更新時間」。
  > 第二個:極淺灰色背景,深色文字「還原目前時間」。
  > 第三個:極淺灰色背景,紅色文字「關閉視窗」。

完成之後應該不論哪個 AI,所產生的彈出視窗都會長得大同小異。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第五步、套用示意圖樣式:彈出視窗設計

第七步、細節修改和調整

基本上進行到這個步驟,表示整體畫面和功能已經完成了七八成,最後就是可以開始進行細節修正,由於各個 AI 的架構會有點不同,下方列出可能的修改動作:

使用下方的提示詞進行最後修改,根據自己的情境做調整 ( 建議分次提供,一次提供往往無法一次到位 ),最終就能讓所有的 AI 產生一致的網頁了!

幫我做最後修改:
- 區塊時間和時區的左側對齊地點名稱左側
- 背景色使用左上 c6e7fa 到右下 579ec7 漸層
- 放大國旗圖示
- 題與時鐘群組的整體顯示範圍限制在最大 960px
- 橘色設計按鈕右側與整體區塊右側對齊,並浮動在最上方
- 主標題置中
- 三段式響應佈局:
1. 寬度 > 960px:自動切換為三欄顯示。
2. 寬度 > 640px:切換為兩欄顯示。
3. 寬度 < 640px:切換為單欄顯示。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 第六步、細節修改和調整,最後細節修飾

第八步、下載程式碼並部署網頁

如果已經全部完成,就可以參考下方兩種部署網頁的方式,將網頁程式下載為 html 檔案,並部署到自己的網頁空間裡。

下圖是使用 Github 部署範例網頁。

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 使用 Github 部署

點擊網址就可以看到「世界時鐘」的網頁作品。

前往 Vibe Coding 範例:世界時鐘

Vibe Coding 固定網頁樣式:解決樣式不一致的惱人問題 - 使用 Github 部署

小結

如果只是要用 Vibe Coding 體驗一些效果其實很簡單,但如果要掌握 Vibe Coding 的每個細節,仍然需要具備一些軟體開發流程的基本知識,甚至要按照軟體流程開發的步驟,按部就班的進行,如此一來才可以經準掌握 Vibe Coding 的產出狀況,進而真的實現心中理想的網頁面貌。

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

生成式 AI 教學

基本介紹

關於生成式 AI 關於 AI 繪圖 AI 繪圖的提示技巧 AI 繪圖軟體比較 ( 2023 ) AI 繪圖軟體推薦 ( 2024 ) 2025 生成式 AI 工具推薦

Vibe Coding 專區

認識 Vibe Coding Vibe Coding 新手入門 Vibe Coding 網頁知識 Vibe Coding Python 知識 Vibe Coding 規劃架構流程 Vibe Coding 下載網頁程式碼 Vibe Coding 固定網頁樣式 部署網頁 - Google App Script 部署網頁 - Github

2025 AI 影音工具

ChatGPT - 圖片提示詞技巧 ChatGPT - 客製化機器人 ChatGPT - 使用畫布功能 Gemini - 開始使用 Gemini - 客製化機器人 Gemini - 串接 Google 服務 Gemini - 使用畫布功能 NotebookLM - 開始使用 NotebookLM - 建構知識庫 Google AI Studio - 介面功能 Nano Banana - 影像生成與編輯 Gemini Educator 線上認證 圖片 - AI 圖片快速去背 圖片 - AI 黑白照片上色 聲音 - AI 影片語音轉字幕 影片 - Pika 生成創意影片 影片 - KlingAI 生成影片 影片 - AI 影片趣味特效 影片 - AI 擁抱 ( AI Hug ) 影片 - AI 老照片動起來 圖片 - Dreamina 生成圖片 音樂 - SUNO 創作音樂 音樂 - 免費 AI 音樂素材

ChatGPT

ChatGPT 教學導讀 認識 ChatGPT 開始使用 ChatGPT 優良的提示技巧 基本提示 實用組合提示 角色扮演&對話主題 閱讀並模仿風格 對話中顯示圖片 創作長篇故事與小說 使用 Bing Chat 相關工具或服務

Poe ( Poe AI )

開始使用 Poe 聊天機器人 生成圖片機器人 建立自己的機器人 Youtube 影片重點整理 PDF 重點整理 GPT-4o-mini 分析圖片 讀取網頁進行重點整理 讓 AI 美化提示詞

Ideogram

開始使用 Ideogram 文字產生圖片 圖片 Retry 與 Remix

dzine

開始使用 dzine 提示詞產生圖片 圖片產生圖片 運用圖層功能 運用文字和畫筆 ( 範例 ) 室內設計透視圖實體化 ( 範例 ) 名畫轉真人照片 ( 範例 ) 真人照片轉卡通 ( 範例 ) 真人卡通貼圖

Image Creator

開始使用 Image Creator 提示原則與技巧 搭配 Bing Copilot 產生圖片 ( 範例 ) 產生分享文章縮圖 ( 範例 ) 漫畫書風格

Leonardo.Ai

Leonardo.Ai 教學導讀 Leonardo.Ai vs Midjourney 認識 Leonardo.Ai 註冊與登入 Leonardo.Ai 使用圖片產生器 文字提示語法和準則 Elements 風格元素 使用圖片產生圖片 AI 圖片編輯器 ( Canvas Editor ) 即時 AI 畫布 ( Realtime Canvas ) 即時圖片產生器 ( Realtime Gen ) 圖片升級器 ( Universal Upscaler ) 產生圖片的後續步驟 Prompt Magic 魔法提示 PhotoReal&Alchemy 特色模型 訓練自己的模型 ( 範例 ) 填補缺少的披薩 ( 範例 ) 組合兩片披薩 ( 範例 ) 虛擬陳雷 ( 範例 ) 修改人物年齡 ( 範例 ) 換臉特效 ( 範例 ) 隱藏的人臉或文字 ( 範例 ) 全部填滿皮卡丘 ( 範例 ) 名畫轉真人照片

Recraft

開始使用 Recraft 點陣圖 Raster image 向量圖 Vector image 圖示 Icon 與 Logo 系列影像 Image Set 原型示意圖 Mockup 畫框 Frame、文字 Text 放大 Upscale、改色 Recolor 圖片去背、替換圖片背景 添加、修改、移除景物 圖片產生圖片 點陣圖轉向量圖 自定義圖片風格 合併不同圖片 ( 範例 ) 名畫轉真人照片 ( 範例 ) 照片轉卡通插畫 ( 範例 ) 自製表情貼圖 ( 範例 ) 多格漫畫風格 ( 範例 ) 圖片中加入文字 ( 範例 ) 延伸圖片範圍

Midjourney

Midjourney 教學導讀 認識 Midjourney 使用 Midjourney 使用 niji.journey 設定指令 功能參數 使用文字提示產生圖片 使用圖片產生圖片 優良的提示技巧 多重提示的權重與順序 style tuner 樣式調校 remix 放大、修改與重繪 blend 混合多張圖片 刪除圖片&傳送資訊 ( 範例 ) 修改人物年齡 ( 範例 ) 阿爾欽博托風格 ( 範例 ) 照片轉卡通人物 ( 範例 ) 變胖、變瘦

Vidnoz AI

開始使用 Vidnoz AI ( 影片 ) 照片講話 ( 圖片 ) 人物換臉 ( 圖片 ) 圖片去背

Canva AI 魔法功能

魔法媒體工具 ( 新視窗 ) 魔法工作室 ( 新視窗 ) 魔法變形工具 ( 新視窗 ) 魔法文案工具 ( 新視窗 )

Clipdrop

開始使用 Clipdrop 修改圖片選取區域 延展圖片並生成內容 人物換臉 圖片去背 移除特定物件 放大與增強影像 影像打光 替換天空

Playground AI

開始使用 Playground AI Board 文字產生圖片 Canvas 繪製與修改圖片 Remix 與 Edit 圖片 延展和放大增強圖片 圖片去背、移除物件 搭配 Poe AI 產生圖片

Replicate 模型

認識 Replicate ( 修圖 ) 黑白照片上色 ( 修圖 ) 修復老照片 ( 修圖 ) 增強與放大照片 ( 修圖 ) 更換髮型和表情 ( 繪圖 ) 似顏繪貼圖 ( 繪圖 ) 真人照片轉公仔 ( 繪圖 ) 隱藏的圖案或文字 ( 提示 ) 圖片轉提示詞 ( 提示 ) 改善提示詞

AI 繪圖效果&範例

著色本效果 2D 卡通人物 物品開箱照 像素藝術 百科全書風格 卡通貼紙

AI 繪圖風格大全

風格大全 ( 總覽 ) 風格大全 ( 攝影、照片 ) 風格大全 ( 畫面角度效果 ) 風格大全 ( 媒材、材質 ) 風格大全 ( 卡通、漫畫 ) 風格大全 ( 藝術流派風格 ) 風格大全 ( 藝術家、畫家 ) 風格大全 ( 插畫風格 1 ) 風格大全 ( 插畫風格 2 ) 風格大全 ( 特色風格 )