将设计师团队分配模态框中的小房子emoji图标(🏠)升级为精美的iOS风格按钮。
<button class="space-assign-btn">
🏠
</button>
问题:
<button class="space-assign-btn">
<svg class="btn-icon">...</svg>
<span class="btn-text">分配空间</span>
</button>
改进:
// 克莱茵蓝渐变(iOS风格)
background: linear-gradient(135deg, #0047AB 0%, #4D91F7 100%);
// 悬停时更亮
background: linear-gradient(135deg, #0052C9 0%, #5BA0FF 100%);
配色方案:
<svg class="btn-icon" viewBox="0 0 24 24">
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
<polyline points="9 22 9 12 15 12 15 22"></polyline>
</svg>
图标特点:
display: inline-flex;
align-items: center;
gap: 6px; // 图标和文字间距
padding: 8px 14px;
border-radius: 8px;
尺寸规格:
&:hover {
background: linear-gradient(135deg, #0052C9 0%, #5BA0FF 100%);
transform: translateY(-2px) scale(1.02);
box-shadow: 0 4px 16px rgba(0, 71, 171, 0.35);
}
效果:
&:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 2px 8px rgba(0, 71, 171, 0.25);
}
效果:
&::before {
content: '';
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
left: -100%;
transition: left 0.5s ease;
}
&:hover::before {
left: 100%; // 从左滑到右
}
效果:
&:disabled {
background: linear-gradient(135deg, #94a3b8 0%, #cbd5e1 100%);
cursor: not-allowed;
box-shadow: none;
}
效果:
| 特性 | Before | After | 改进 |
|---|---|---|---|
| 图标 | emoji 🏠 | SVG 线条图标 | ✅ 更精致 |
| 文字 | 无 | "分配空间" | ✅ 更明确 |
| 背景 | 白色 | 克莱茵蓝渐变 | ✅ 更醒目 |
| 阴影 | 无 | 立体阴影 | ✅ 更立体 |
| 悬停 | 简单缩放 | 浮起+光泽 | ✅ 更生动 |
| 点击 | 无反馈 | 按下效果 | ✅ 更交互 |
| 动画 | 0.2s | 0.3s cubic-bezier | ✅ 更流畅 |
┌─────────────────┐
│ [SVG图标] 文字 │ ← 按钮内容(白色)
└─────────────────┘
↓
蓝色渐变背景
↓
立体阴影
文件:designer-team-assignment-modal.component.html
修改位置:3处
修改内容:
<!-- Before -->
🏠
<!-- After -->
<svg class="btn-icon">...</svg>
<span class="btn-text">分配空间</span>
文件:designer-team-assignment-modal.component.scss
修改位置:Line 677-770
新增样式:
@if (enableSpaceAssignment && spaceScenes.length > 0) {
<button class="space-assign-btn">...</button>
}
条件:
enableSpaceAssignment = true(启用空间分配功能)spaceScenes.length > 0(存在可分配的空间)(click)="$event.stopPropagation(); openSpaceAssignment(designer)"
动作:
┌────────────────────┐
│ [🏠图标] 分配空间 │ ← 克莱茵蓝渐变
└────────────────────┘
↓ 轻微阴影
┌────────────────────┐
│ [🏠图标] 分配空间 │ ← 向上浮起 2px
└────────────────────┘ ← 光泽从左滑到右
↓ 阴影加深扩大
┌────────────────────┐
│ [🏠图标] 分配空间 │ ← 轻微缩小
└────────────────────┘
↓ 阴影缩小
如需调整颜色,修改渐变色值:
background: linear-gradient(135deg, #YOUR_COLOR_1 0%, #YOUR_COLOR_2 100%);
如需调整大小,修改以下参数:
padding: 8px 14px; // 内边距
font-size: 13px; // 文字大小
.btn-icon {
width: 16px; // 图标大小
height: 16px;
}
如需调整动画速度:
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); // 0.3s改为你需要的时间
创建时间:2024-12-09
升级版本:v2.0
设计师:iOS风格设计系统