deotalandAi/.trae/documents/plan_20251212_020449.md

77 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 优化IPCard生成中占位符样式
## 需求分析
用户要求优化IPCard组件中生成图片时的占位符样式具体要求
- 颜色与质感:整体为浅灰色或白色,带有微妙的渐变或光泽感
- 动态效果:平滑的**倾斜**波浪式或扫描式光带从左到右/从上到下移动
- 移除现有圆圈动画和文字提示
- 适配暗色主题
## 实现方案
### 1. 修改模板结构
- 移除第45-46行的圆圈动画和文字提示
- 保留占位符容器结构
### 2. 优化CSS样式
- 修改`.generating-placeholder`类:
- 背景色改为浅灰色渐变,添加微妙光泽感
- 添加**倾斜**扫描光带动画
- 移除原有的`generating-spinner`和`generating-text`
- 添加暗色主题适配
### 3. 关键CSS修改
```css
/* 生成中占位符样式优化 */
.generating-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(243, 244, 246, 0.95) 0%, rgba(229, 231, 235, 0.9) 100%);
position: relative;
overflow: hidden;
/* 添加微妙的光泽感 */
box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.1);
}
/* 倾斜扫描光带动画 */
.generating-placeholder::before {
content: '';
position: absolute;
/* 倾斜45度从左上角开始 */
top: -50%;
left: -100%;
width: 200%;
height: 200%;
/* 45度倾斜的光带 */
background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.4), transparent);
animation: scanEffect 2s ease-in-out infinite;
/* 设置旋转中心点 */
transform-origin: center;
}
/* 倾斜扫描动画 */
@keyframes scanEffect {
0% {
transform: translateX(-100%) translateY(-100%);
}
100% {
transform: translateX(100%) translateY(100%);
}
}
/* 暗色主题适配 */
:global(.dark) .generating-placeholder {
background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.9) 100%);
box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.05);
}
:global(.dark) .generating-placeholder::before {
background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.2), transparent);
}
```
### 4. 预期效果
- 浅色主题浅灰色渐变背景带有微妙光泽感45度倾斜的白色光带从左上角向右下角扫描
- 暗色主题深灰色渐变背景带有微妙光泽感45度倾斜的浅白色光带扫描
- 无圆圈动画和文字提示
- 整体呈现“未填充”的加载状态