# Implementation Plan: Global UI Optimization ## Overview 本实现计划将 Argon 主题的 UI 优化分为 6 个主要任务,按照依赖关系顺序执行。首先建立动画系统基础,然后逐步优化各个组件,最后添加新的主题变体。 ## Tasks - [x] 1. 建立动画系统 CSS 变量基础 - 在 style.css 的 :root 中添加动画时长变量(--animation-fast, --animation-normal, --animation-slow, --animation-slower) - 添加 Material 3 标准缓动函数变量(--ease-standard, --ease-emphasized, --ease-spring 等) - 添加状态层透明度变量(--state-hover-opacity, --state-pressed-opacity 等) - 添加 prefers-reduced-motion 媒体查询支持 - _Requirements: 5.1, 5.2, 5.4_ - [x] 2. 优化按钮组件样式 - [x] 2.1 修改 .btn-primary 样式,移除渐变背景,使用纯色主题色 - 更新 background 属性使用 var(--themecolor) - 添加悬停状态颜色加深和阴影提升效果 - 添加按下状态颜色加深和缩放效果 - 使用 var(--card-radius) 统一圆角 - _Requirements: 1.1, 1.2, 1.3, 1.4_ - [x] 2.2 添加涟漪效果(ripple effect) - 创建 .btn-ripple 类实现 CSS 涟漪动画 - 使用 ::after 伪元素和 radial-gradient 实现 - _Requirements: 1.5_ - [x] 3. 优化分享按钮动画效果 - [x] 3.1 更新分享按钮容器样式 - 修改 #share_container 和 #share 的布局样式 - 使用 flexbox 和 gap 属性优化间距 - _Requirements: 3.4_ - [x] 3.2 实现错落有致的展开动画 - 为 #share > a 添加初始状态(opacity: 0, transform: scale(0.8) translateX(10px)) - 为每个子元素添加递增的 transition-delay(30ms 间隔) - 使用 --ease-spring 缓动函数 - _Requirements: 3.1, 3.2_ - [x] 3.3 优化主按钮变换动画 - 修改 #share_show 的 .opened 状态样式 - 添加旋转和缩放变换(rotate(45deg) scale(0.9)) - _Requirements: 3.3_ - [x] 3.4 更新分享图标按钮为纯色背景 - 移除 template-parts/post-actions.php 中按钮的 style 属性中的渐变 - 使用纯色背景色 - _Requirements: 3.6_ - [x] 4. 优化评论展开动画效果 - [x] 4.1 更新评论区容器过渡动画 - 修改 #comments 和 #post_comment 的 transition 属性 - 使用 CSS 变量定义动画时长(var(--animation-slow)) - 使用 --ease-emphasized 缓动函数 - 确保使用 max-height 和 opacity 进行动画 - _Requirements: 4.1, 4.2, 4.4_ - [x] 4.2 添加切换按钮图标动画 - 为 #comments_toggle .btn-inner--icon i 添加 transition - 在展开状态添加旋转变换 - 更新 template-parts/post-actions.php 中的 JavaScript 逻辑 - _Requirements: 4.3_ - [x] 4.3 优化滚动位置稳定性 - 在 argontheme.js 中优化评论展开时的滚动处理 - 使用 requestAnimationFrame 确保动画流畅 - _Requirements: 4.6_ - [x] 5. 优化设置面板外观 - [x] 5.1 更新设置面板容器样式 - 修改 #fabtn_blog_settings_popup 的圆角(16px)和阴影 - 添加 backdrop-filter 玻璃效果 - 优化内边距和间距 - _Requirements: 2.1, 2.5_ - [x] 5.2 实现 Material 3 风格分段控件 - 创建 .segmented-control 和 .segmented-control-item 样式 - 更新字体和阴影选择器使用新的分段控件样式 - 选中状态使用纯色主题色背景 - _Requirements: 2.3, 2.6_ - [x] 6. 添加新主题变体样式 - [x] 6.1 实现玻璃拟态(Glassmorphism)样式 - 创建 html.style-glass 选择器下的卡片和面板样式 - 使用 backdrop-filter: blur(20px) saturate(180%) - 添加半透明背景和边框 - 支持暗色模式变体 - _Requirements: 6.1_ - [x] 6.2 实现新拟态(Neumorphism)样式 - 创建 html.style-neumorphism 选择器下的卡片样式 - 使用双向阴影(凸起效果) - 支持暗色模式变体 - _Requirements: 6.2_ - [x] 6.3 添加样式切换功能 - 在 argontheme.js 中添加样式切换函数 - 更新 localStorage 存储逻辑 - 为主要元素添加 transition 支持样式切换动画 - _Requirements: 6.4_ - [x] 6.4 在设置面板中添加样式选择器 - 添加样式预览按钮 - 绑定点击事件切换样式 - _Requirements: 6.5_ - [ ] 7. Checkpoint - 验证所有功能 - 确保所有样式修改正确应用 - 测试各种浏览器兼容性 - 验证暗色模式下的显示效果 - 确保动画流畅无卡顿 - 如有问题请询问用户 ## Notes - 所有 CSS 修改应在 style.css 文件中进行 - JavaScript 修改应在 argontheme.js 文件中进行 - PHP 模板修改应在 template-parts/post-actions.php 中进行 - 优先使用 CSS 变量以保持一致性和可维护性 - 动画应使用 GPU 加速属性(transform, opacity)以确保性能