搜尋

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

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

更多參考:Vibe Coding 全方位開發導讀

快速導覽:

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 的產出狀況,進而真的實現心中理想的網頁面貌。

延伸閱讀

Vibe Coding 的重點都不在於「寫程式」,而是為了配合程式的各種「準備工作」,下方列出 Vibe Coding 相關的教學,透過一系列的教學,就更能掌握正確且順暢的開發流程:

意見回饋

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

生成式 AI 教學

基本介紹

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

Vibe Coding 專區

Vibe Coding 教學導讀 認識 Vibe Coding Vibe Coding 新手入門 Vibe Coding 規劃架構流程 Vibe Coding 網頁知識 Vibe Coding Python 知識 Vibe Coding 下載網頁程式碼 Vibe Coding Google App Script 部署網頁 Vibe Coding Github 部署網頁 Vibe Coding 固定網頁樣式 Vibe Coding 使用外部圖片 Vibe Coding 使用 SVG 圖示 Vibe Coding 使用外部字體 Vibe Coding + Spreadsheet 資料庫 Vibe Coding + Firebase 即時資料庫 Vibe Coding + Firestore 資料庫 Vibe Coding 資料庫安全防護 Vibe Coding 串接帳號驗證機制 Vibe Coding 串接 Google 雲端硬碟 Vibe Coding 串接 Gemini API Vibe Coding 打造 LINE Bot Vibe Coding 範例 - 英文單字卡

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 ) 風格大全 ( 特色風格 )