iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
Vibe Coding

以開發「智慧健身與習慣追蹤 PWA 」為主軸的 30 天 Vibe Coding 挑戰清單。系列 第 12 篇

[Day 12] Vibe Coding 實戰:打造高顏值底部導覽列,無縫切換打卡與圖表頁面

  • 分享至 

  • xImage
  •  

對於一個要在手機上運作的 PWA 來說,最直覺、最符合原生 App 體驗的設計,莫過於底部導覽列 (Bottom Navigation Bar)。今天就要把這扇通往數據視覺化的「門」給建起來,並且完美融入我們 Vibe Fitness 的深色科技感主題!

AI Prompt:
@index.html @css/components.css @js/main.js (或負責初始化的檔案)
我們的 PWA 目前缺少在不同畫面間切換的機制。請幫我實作一個適合手機版使用的「底部導覽列 (Bottom Navigation Bar)」。
實作要求:
UI 設計: 導覽列必須固定 (fixed) 在螢幕最下方。背景請使用深色,並帶有一點半透明的毛玻璃效果 (backdrop-filter),以符合整體的深色科技風格。
按鈕選項: 包含兩個主要按鈕圖示與文字:「🏋️ 訓練 (Workout)」與「📊 數據 (Habits)」。
活躍狀態 (Active State): 點擊後,當前所在頁面的按鈕必須亮起我們主視覺的「青綠色螢光 (Neon Glow)」,明確提示使用者目前位置。
切換邏輯: 請實作 Vanilla JS 畫面切換邏輯。點擊導覽列時,能正確切換顯示/隱藏原本的「打卡數字鍵盤區塊」與「Chart.js 圖表區塊」。

AI 接收到指令後,通常會幫我們完成三個核心修改:
*HTML 結構佈局:*在 的最底端加入一個 標籤,裡面包覆著對應不同頁面的按鈕結構。
*CSS 視覺:*利用 position: fixed; bottom: 0; 將導覽列穩穩釘在畫面底部。最精華的是 backdrop-filter: blur(10px);,這行語法能瞬間營造出高質感的毛玻璃透視效果,讓導覽列不會死板板地遮擋住底部的深色網格背景。
*JavaScript 狀態切換:*透過監聽按鈕的click事件,動態切換各個視圖 (View) 容器的 display: none; 與 display: block;。同時為被點擊的按鈕加上 .active 的 CSS 類別,觸發青綠色的發光特效。

成果展示:
https://ithelp.ithome.com.tw/upload/images/20260926/2018433932N9Yon51C.png


上一篇
[Day 11] 動態資料視覺化:指令 AI 整合 Chart.js,將習慣進度繪成動態長條圖
下一篇
[Day 13] Vibe Coding 實戰:資料庫的讀取邏輯與資料格式轉換
系列文
以開發「智慧健身與習慣追蹤 PWA 」為主軸的 30 天 Vibe Coding 挑戰清單。 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言