2.8 KiB
2.8 KiB
Hover 效果優化總結
問題描述
原本的按鈕使用預設的 variant="outline"
樣式,導致 hover 時顯示藍色背景,與整體設計風格不符。
解決方案
🎨 自定義 Hover 效果
為每個按鈕類型設計了符合其品牌色彩的 hover 效果:
1. LINE 按鈕
hover:bg-green-50 hover:border-green-300 hover:text-green-700
- 背景:淡綠色
- 邊框:綠色
- 文字:深綠色
2. Facebook 按鈕
hover:bg-blue-50 hover:border-blue-300 hover:text-blue-700
- 背景:淡藍色
- 邊框:藍色
- 文字:深藍色
3. Email 按鈕
hover:bg-slate-50 hover:border-slate-300 hover:text-slate-700
- 背景:淡灰色
- 邊框:灰色
- 文字:深灰色
4. 複製按鈕
hover:bg-primary/5 hover:border-primary/20 hover:text-primary
- 背景:主題色的 5% 透明度
- 邊框:主題色的 20% 透明度
- 文字:主題色
✨ 設計特色
-
品牌一致性
- 每個按鈕的 hover 效果都與其品牌色彩相符
- 保持視覺識別的一致性
-
平滑過渡
- 添加
transition-colors
實現平滑的顏色過渡 - 提升用戶體驗
- 添加
-
禁用狀態處理
- 為禁用狀態的按鈕添加特殊的 hover 效果
- 確保禁用時不會有 hover 反饋
-
色彩層次
- 使用淡色背景和深色文字形成對比
- 保持良好的可讀性
技術實現
🔧 CSS 類別應用
// LINE 按鈕
className="... hover:bg-green-50 hover:border-green-300 hover:text-green-700 transition-colors"
// Facebook 按鈕
className="... hover:bg-blue-50 hover:border-blue-300 hover:text-blue-700 transition-colors"
// Email 按鈕
className="... hover:bg-slate-50 hover:border-slate-300 hover:text-slate-700 transition-colors"
// 複製按鈕
className="... hover:bg-primary/5 hover:border-primary/20 hover:text-primary transition-colors"
🎯 響應式設計
- 所有 hover 效果在各種螢幕尺寸下都保持一致
- 確保觸控設備上的視覺反饋
效果對比
❌ 修改前
- 所有按鈕 hover 時都顯示藍色背景
- 與品牌色彩不符
- 視覺體驗不統一
✅ 修改後
- 每個按鈕都有符合其品牌的 hover 效果
- 視覺層次更清晰
- 用戶體驗更佳
測試建議
-
功能測試
- 測試所有按鈕的 hover 效果
- 驗證顏色過渡是否平滑
- 檢查禁用狀態的處理
-
視覺測試
- 在不同背景下測試對比度
- 驗證色彩搭配的和諧性
- 檢查各種螢幕尺寸下的表現
-
可用性測試
- 確保 hover 效果提供足夠的視覺反饋
- 驗證觸控設備上的表現
結論
通過自定義 hover 效果,分享按鈕現在具有更好的視覺一致性和用戶體驗。每個按鈕都保持其品牌特色,同時提供清晰的互動反饋。