# Story 1-10 Portfolio - UX Pixel-Perfect Specifications > **UX Expert Review Document** > 參考來源: `research/www.enchun.tw/website-portfolio.html` > 設計系統: `apps/frontend/src/styles/theme.css` > 目標視覺保真度: 95%+ --- ## 🎨 Design Token 驗證 ### 色彩系統 | 用途 | 變數名稱 | Hex Color | CSS Variable | 驗證狀態 | |------|----------|-----------|--------------|----------| | 主品牌色 | Enchun Blue | `#23608c` | `--color-enchunblue` | ✅ 已定義 | | 深品牌色 | Enchun Blue Dark | `#3083bf` | `--color-enchunblue-dark` | ✅ 已定義 | | 深灰文字 | Tarawera | `#2d3748` | `--color-tarawera` | ✅ 已定義 | --- ## 📐 Section 詳細規格 ### 1. Portfolio 列表頁 #### 頁面路徑: `/website-portfolio` #### 標題區塊 ```css .portfolio-header { text-align: center; padding: 60px 20px; } .portfolio-title { font-size: 2.5rem; font-weight: 700; color: var(--color-enchunblue); margin-bottom: 8px; } .portfolio-subtitle { font-size: 1.125rem; color: var(--color-gray-700); } .divider-line { width: 100px; height: 2px; background-color: var(--color-enchunblue); margin: 24px auto; } ``` #### 作品卡片網格 ```css .portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 1200px; margin: 0 auto; padding: 0 20px 60px; } @media (max-width: 767px) { .portfolio-grid { grid-template-columns: 1fr; gap: 16px; } } ``` --- ### 2. 作品卡片組件 #### 組件檔案: `components/PortfolioCard.astro` ```css .portfolio-card { background-color: white; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); transition: all 300ms ease-in-out; display: block; text-decoration: none; color: inherit; } .portfolio-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); } .portfolio-image-wrapper { position: relative; width: 100%; padding-bottom: 56.25%; /* 16:9 */ overflow: hidden; } .portfolio-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease-in-out; } .portfolio-card:hover .portfolio-image { transform: scale(1.05); } .portfolio-content { padding: 24px; } .portfolio-title { font-size: 1.25rem; font-weight: 600; color: var(--color-tarawera); margin-bottom: 8px; } .portfolio-description { font-size: 0.875rem; color: var(--color-gray-600); line-height: 1.5; margin-bottom: 16px; } .portfolio-tags { display: flex; flex-wrap: wrap; gap: 8px; } .portfolio-tag { padding: 4px 10px; background-color: var(--color-gray-100); border-radius: 16px; font-size: 0.75rem; font-weight: 500; color: var(--color-gray-700); } ``` --- ### 3. 作品詳情頁 #### 頁面路徑: `/website-portfolio/[slug]` ```css .portfolio-detail { max-width: 1000px; margin: 0 auto; padding: 60px 20px; } .portfolio-detail-header { margin-bottom: 40px; } .portfolio-detail-title { font-size: 2.5rem; font-weight: 700; color: var(--color-tarawera); margin-bottom: 16px; } .portfolio-detail-meta { display: flex; gap: 24px; font-size: 0.875rem; color: var(--color-gray-600); } .portfolio-detail-image { width: 100%; border-radius: 12px; margin-bottom: 40px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); } .portfolio-detail-description { font-size: 1.125rem; line-height: 1.8; color: var(--color-text-primary); } .portfolio-detail-description p { margin-bottom: 20px; } ``` --- ## 📱 響應式斷點總結 | Breakpoint | Grid Columns | 字體大小 | |------------|--------------|----------| | Desktop (>991px) | 2x2 | 19px | | Tablet (767px) | 2x1 | 19px | | Mobile (≤767px) | 1x1 | 16px | | Small Mobile (≤479px) | 1x1 | 13px | --- ## 🎯 互動效果規格 ### Hover 效果 ```css .portfolio-card { transition: all 300ms ease-in-out; } .portfolio-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); } .portfolio-image { transition: transform 300ms ease-in-out; } .portfolio-card:hover .portfolio-image { transform: scale(1.05); } ``` --- ## 🏗️ 組件實現清單 ### ✅ 已實現 - [x] `website-portfolio.astro` - 基礎框架 - [x] `webdesign-profolio/[slug].astro` - 詳情頁框架 ### ⏳ 需新增/修改 - [ ] `PortfolioCard.astro` - 作品卡片組件 - [ ] 更新列表頁使用網格佈局 - [ ] 更新詳情頁樣式 --- ## 📋 驗收標準 ### 視覺保真度檢查 - [ ] 標題區塊「案例分享」+ 雙線裝飾 - [ ] 2x2 網格佈局(桌面端) - [ ] 作品卡片 Hover 效果 - [ ] 標籤浮動效果 ### 響應式檢查 - [ ] Desktop: 2x2 網格 - [ ] Tablet: 2x1 網格 - [ ] Mobile: 1x1 網格 ### 功能檢查 - [ ] 外部連結新分頁打開 - [ ] 圖片 WebP 格式 - [ ] 圖片懶加載 --- *此文件由 UX Expert 創建,最後更新:2026-02-10*