You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1019 lines
41 KiB
1019 lines
41 KiB
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>AI 悬浮按钮图标方案预览</title>
|
|
<style>
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
|
|
body {
|
|
font-family: -apple-system, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
|
|
background: #0a0a1a;
|
|
color: #e0e0e0;
|
|
min-height: 100vh;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
/* 背景网格 */
|
|
body::before {
|
|
content: '';
|
|
position: fixed;
|
|
inset: 0;
|
|
background:
|
|
linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(56, 189, 248, 0.03) 1px, transparent 1px);
|
|
background-size: 40px 40px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.page-header {
|
|
text-align: center;
|
|
padding: 60px 20px 40px;
|
|
}
|
|
.page-header h1 {
|
|
font-size: 36px;
|
|
font-weight: 700;
|
|
background: linear-gradient(135deg, #38bdf8, #818cf8, #c084fc);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
margin-bottom: 12px;
|
|
}
|
|
.page-header p {
|
|
font-size: 16px;
|
|
color: #94a3b8;
|
|
max-width: 600px;
|
|
margin: 0 auto;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.schemes {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
|
|
gap: 40px;
|
|
max-width: 1400px;
|
|
margin: 0 auto;
|
|
padding: 20px 40px 80px;
|
|
}
|
|
|
|
.scheme-card {
|
|
background: linear-gradient(145deg, rgba(30, 30, 60, 0.8), rgba(15, 15, 35, 0.9));
|
|
border: 1px solid rgba(99, 102, 241, 0.2);
|
|
border-radius: 20px;
|
|
padding: 36px 32px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.scheme-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 2px;
|
|
background: linear-gradient(90deg, transparent, #818cf8, transparent);
|
|
}
|
|
|
|
.scheme-card h2 {
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
margin-bottom: 6px;
|
|
color: #f1f5f9;
|
|
}
|
|
.scheme-card .subtitle {
|
|
font-size: 13px;
|
|
color: #64748b;
|
|
margin-bottom: 28px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.preview-area {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 40px;
|
|
margin-bottom: 28px;
|
|
min-height: 140px;
|
|
}
|
|
|
|
/* 预览中的深色/浅色背景 */
|
|
.bg-dark, .bg-light {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
}
|
|
.bg-dark {
|
|
background: #0f172a;
|
|
border: 1px solid rgba(99, 102, 241, 0.15);
|
|
}
|
|
.bg-light {
|
|
background: #f8fafc;
|
|
border: 1px solid #e2e8f0;
|
|
}
|
|
.bg-label {
|
|
position: absolute;
|
|
bottom: -22px;
|
|
font-size: 11px;
|
|
color: #64748b;
|
|
}
|
|
|
|
/* ========== 按钮通用样式 ========== */
|
|
.launcher-demo {
|
|
width: 64px;
|
|
height: 64px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
position: relative;
|
|
user-select: none;
|
|
transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
|
|
}
|
|
.launcher-demo:hover {
|
|
transform: translateY(-3px) scale(1.08);
|
|
}
|
|
.launcher-demo:active {
|
|
transform: scale(0.93);
|
|
}
|
|
.launcher-demo svg {
|
|
width: 32px;
|
|
height: 32px;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
/* ========== 方案一:赛博机器人 ========== */
|
|
.scheme-1 .launcher-demo {
|
|
background: linear-gradient(135deg, #6366f1, #8b5cf6, #a855f7);
|
|
border: 2.5px solid rgba(255, 255, 255, 0.45);
|
|
box-shadow:
|
|
0 4px 16px rgba(99, 102, 241, 0.35),
|
|
0 0 48px rgba(139, 92, 246, 0.15);
|
|
}
|
|
.scheme-1 .launcher-demo::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 40%;
|
|
height: 200%;
|
|
border-radius: 50%;
|
|
background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.3) 48%, rgba(255,255,255,0.1) 52%, transparent 70%);
|
|
transform: rotate(25deg);
|
|
animation: shimmer 4s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-1 .launcher-demo::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -18px;
|
|
border-radius: 50%;
|
|
background: radial-gradient(circle, rgba(139, 92, 246, 0.25) 0%, rgba(139, 92, 246, 0.06) 45%, transparent 68%);
|
|
animation: breathe 3s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-1 .launcher-demo:hover {
|
|
box-shadow:
|
|
0 8px 28px rgba(99, 102, 241, 0.45),
|
|
0 0 64px rgba(139, 92, 246, 0.2);
|
|
}
|
|
|
|
/* ========== 方案二:脉冲星环 ========== */
|
|
.scheme-2 .launcher-demo {
|
|
background: linear-gradient(135deg, #0ea5e9, #06b6d4, #14b8a6);
|
|
border: 2.5px solid rgba(255, 255, 255, 0.45);
|
|
box-shadow:
|
|
0 4px 16px rgba(14, 165, 233, 0.35),
|
|
0 0 48px rgba(6, 182, 212, 0.15);
|
|
}
|
|
.scheme-2 .launcher-demo::before {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -6px;
|
|
border-radius: 50%;
|
|
border: 2px solid rgba(14, 165, 233, 0.3);
|
|
animation: pulse-ring 2.5s ease-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-2 .launcher-demo::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -14px;
|
|
border-radius: 50%;
|
|
border: 1.5px solid rgba(6, 182, 212, 0.2);
|
|
animation: pulse-ring 2.5s ease-out 0.8s infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-2 .launcher-demo:hover {
|
|
box-shadow:
|
|
0 8px 28px rgba(14, 165, 233, 0.45),
|
|
0 0 64px rgba(6, 182, 212, 0.2);
|
|
}
|
|
|
|
/* ========== 方案三:全息菱形 ========== */
|
|
.scheme-3 .launcher-demo {
|
|
background: linear-gradient(135deg, #f43f5e, #ec4899, #d946ef);
|
|
border: 2.5px solid rgba(255, 255, 255, 0.45);
|
|
box-shadow:
|
|
0 4px 16px rgba(244, 63, 94, 0.35),
|
|
0 0 48px rgba(217, 70, 239, 0.15);
|
|
}
|
|
.scheme-3 .launcher-demo::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 40%;
|
|
height: 200%;
|
|
border-radius: 50%;
|
|
background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.35) 48%, rgba(255,255,255,0.12) 52%, transparent 70%);
|
|
transform: rotate(25deg);
|
|
animation: shimmer 3.5s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-3 .launcher-demo::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -20px;
|
|
border-radius: 50%;
|
|
background: radial-gradient(circle, rgba(244, 63, 94, 0.22) 0%, rgba(217, 70, 239, 0.06) 45%, transparent 68%);
|
|
animation: breathe 2.8s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-3 .launcher-demo:hover {
|
|
box-shadow:
|
|
0 8px 28px rgba(244, 63, 94, 0.45),
|
|
0 0 64px rgba(217, 70, 239, 0.2);
|
|
}
|
|
|
|
/* ========== 方案四:矩阵幽光 ========== */
|
|
.scheme-4 .launcher-demo {
|
|
background: linear-gradient(135deg, #10b981, #059669, #047857);
|
|
border: 2.5px solid rgba(255, 255, 255, 0.45);
|
|
box-shadow:
|
|
0 4px 16px rgba(16, 185, 129, 0.35),
|
|
0 0 48px rgba(5, 150, 105, 0.15);
|
|
}
|
|
.scheme-4 .launcher-demo::before {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -3px;
|
|
border-radius: 50%;
|
|
background: conic-gradient(
|
|
from 0deg,
|
|
transparent 0%,
|
|
rgba(16, 185, 129, 0.5) 10%,
|
|
transparent 20%,
|
|
transparent 50%,
|
|
rgba(52, 211, 153, 0.4) 60%,
|
|
transparent 70%
|
|
);
|
|
animation: rotate-ring 4s linear infinite;
|
|
pointer-events: none;
|
|
mask: radial-gradient(circle, transparent 28px, black 29px, black 33px, transparent 34px);
|
|
-webkit-mask: radial-gradient(circle, transparent 28px, black 29px, black 33px, transparent 34px);
|
|
}
|
|
.scheme-4 .launcher-demo::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -16px;
|
|
border-radius: 50%;
|
|
background: radial-gradient(circle, rgba(16, 185, 129, 0.2) 0%, rgba(16, 185, 129, 0.04) 45%, transparent 68%);
|
|
animation: breathe 3.2s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
.scheme-4 .launcher-demo:hover {
|
|
box-shadow:
|
|
0 8px 28px rgba(16, 185, 129, 0.45),
|
|
0 0 64px rgba(5, 150, 105, 0.2);
|
|
}
|
|
|
|
/* ========== 动画关键帧 ========== */
|
|
@keyframes shimmer {
|
|
0%, 100% { left: -60%; opacity: 0; }
|
|
20% { opacity: 1; }
|
|
60% { opacity: 1; }
|
|
80% { left: 120%; opacity: 0; }
|
|
}
|
|
@keyframes breathe {
|
|
0%, 100% { transform: scale(1); opacity: 1; }
|
|
50% { transform: scale(1.18); opacity: 0.3; }
|
|
}
|
|
@keyframes pulse-ring {
|
|
0% { transform: scale(0.9); opacity: 0.8; }
|
|
100% { transform: scale(1.5); opacity: 0; }
|
|
}
|
|
@keyframes rotate-ring {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
@keyframes eye-blink {
|
|
0%, 42%, 48%, 100% { opacity: 1; }
|
|
45% { opacity: 0.1; }
|
|
}
|
|
@keyframes antenna-glow {
|
|
0%, 100% { opacity: 0.5; r: 1.2; }
|
|
50% { opacity: 1; r: 1.8; }
|
|
}
|
|
@keyframes scan-line {
|
|
0% { transform: translateY(-8px); opacity: 0; }
|
|
20% { opacity: 0.6; }
|
|
80% { opacity: 0.6; }
|
|
100% { transform: translateY(8px); opacity: 0; }
|
|
}
|
|
@keyframes data-flow {
|
|
0% { stroke-dashoffset: 20; }
|
|
100% { stroke-dashoffset: 0; }
|
|
}
|
|
@keyframes float-dot {
|
|
0%, 100% { transform: translateY(0); opacity: 0.4; }
|
|
50% { transform: translateY(-2px); opacity: 1; }
|
|
}
|
|
|
|
/* SVG 内部动画 */
|
|
.svg-eye-blink { animation: eye-blink 4s ease-in-out infinite; }
|
|
.svg-antenna-glow { animation: antenna-glow 2s ease-in-out infinite; }
|
|
.svg-scan-line { animation: scan-line 3s ease-in-out infinite; }
|
|
.svg-data-flow { animation: data-flow 2s linear infinite; }
|
|
.svg-float-1 { animation: float-dot 2s ease-in-out infinite; }
|
|
.svg-float-2 { animation: float-dot 2s ease-in-out 0.3s infinite; }
|
|
.svg-float-3 { animation: float-dot 2s ease-in-out 0.6s infinite; }
|
|
|
|
/* 特性标签 */
|
|
.features {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-top: 12px;
|
|
}
|
|
.feature-tag {
|
|
font-size: 11px;
|
|
padding: 4px 10px;
|
|
border-radius: 20px;
|
|
background: rgba(99, 102, 241, 0.12);
|
|
color: #a5b4fc;
|
|
border: 1px solid rgba(99, 102, 241, 0.2);
|
|
}
|
|
|
|
/* 代码块 */
|
|
.code-section {
|
|
margin-top: 20px;
|
|
}
|
|
.code-toggle {
|
|
font-size: 12px;
|
|
color: #818cf8;
|
|
cursor: pointer;
|
|
border: 1px solid rgba(129, 140, 248, 0.3);
|
|
background: rgba(129, 140, 248, 0.08);
|
|
padding: 6px 14px;
|
|
border-radius: 8px;
|
|
transition: all 0.2s;
|
|
}
|
|
.code-toggle:hover {
|
|
background: rgba(129, 140, 248, 0.15);
|
|
}
|
|
.code-block {
|
|
display: none;
|
|
margin-top: 12px;
|
|
background: rgba(0, 0, 0, 0.4);
|
|
border: 1px solid rgba(99, 102, 241, 0.15);
|
|
border-radius: 10px;
|
|
padding: 16px;
|
|
overflow-x: auto;
|
|
font-family: 'Fira Code', 'Cascadia Code', monospace;
|
|
font-size: 12px;
|
|
line-height: 1.6;
|
|
color: #c4b5fd;
|
|
white-space: pre;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.code-block.show { display: block; }
|
|
|
|
/* 推荐标记 */
|
|
.recommend {
|
|
position: absolute;
|
|
top: 16px;
|
|
right: 16px;
|
|
font-size: 11px;
|
|
padding: 3px 10px;
|
|
border-radius: 20px;
|
|
background: linear-gradient(135deg, #6366f1, #8b5cf6);
|
|
color: #fff;
|
|
font-weight: 600;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page-header">
|
|
<h1>🤖 AI 悬浮按钮图标方案</h1>
|
|
<p>四套科技风设计方案,融合机器人与对话气泡元素,带微光呼吸动效,可直接用于 chatbot-sdk</p>
|
|
</div>
|
|
|
|
<div class="schemes">
|
|
|
|
<!-- ==================== 方案一 ==================== -->
|
|
<div class="scheme-card scheme-1">
|
|
<span class="recommend">⭐ 推荐</span>
|
|
<h2>方案一:赛博机器人</h2>
|
|
<p class="subtitle">机器人面部 + 对话气泡融合,天线带能量闪烁,眼睛自动眨眼,科技感与亲和力兼顾</p>
|
|
|
|
<div class="preview-area">
|
|
<div class="bg-dark">
|
|
<div class="launcher-demo">
|
|
<!-- SVG 方案一 -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s1-body" x1="6" y1="8" x2="26" y2="28" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.82"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 对话气泡主体(圆角矩形 + 尾巴) -->
|
|
<rect x="5" y="8" width="22" height="16" rx="4" fill="url(#s1-body)"/>
|
|
<path d="M9 24L6 28.5l6-4.5z" fill="url(#s1-body)"/>
|
|
<!-- 机器人天线 -->
|
|
<line x1="16" y1="8" x2="16" y2="4" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3" r="1.5" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 机器人眼睛 -->
|
|
<rect x="9.5" y="13" width="4" height="3.5" rx="1.2" fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<rect x="18.5" y="13" width="4" height="3.5" rx="1.2" fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<!-- 眼睛高光 -->
|
|
<circle cx="11" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<circle cx="20" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<!-- 微笑嘴巴 -->
|
|
<path d="M12.5 20 Q16 22.5 19.5 20" stroke="rgba(99,102,241,0.4)" stroke-width="1.2" fill="none" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">深色背景</span>
|
|
</div>
|
|
<div class="bg-light">
|
|
<div class="launcher-demo">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s1-body-l" x1="6" y1="8" x2="26" y2="28" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.82"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<rect x="5" y="8" width="22" height="16" rx="4" fill="url(#s1-body-l)"/>
|
|
<path d="M9 24L6 28.5l6-4.5z" fill="url(#s1-body-l)"/>
|
|
<line x1="16" y1="8" x2="16" y2="4" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3" r="1.5" fill="#fff" class="svg-antenna-glow"/>
|
|
<rect x="9.5" y="13" width="4" height="3.5" rx="1.2" fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<rect x="18.5" y="13" width="4" height="3.5" rx="1.2" fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<circle cx="11" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<circle cx="20" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<path d="M12.5 20 Q16 22.5 19.5 20" stroke="rgba(99,102,241,0.4)" stroke-width="1.2" fill="none" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">浅色背景</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="features">
|
|
<span class="feature-tag">🤖 机器人面部</span>
|
|
<span class="feature-tag">💬 气泡融合</span>
|
|
<span class="feature-tag">📡 天线能量灯</span>
|
|
<span class="feature-tag">👁 自动眨眼</span>
|
|
<span class="feature-tag">✨ 高光扫过</span>
|
|
<span class="feature-tag">🌊 呼吸光晕</span>
|
|
</div>
|
|
|
|
<div class="code-section">
|
|
<button class="code-toggle" onclick="this.nextElementSibling.classList.toggle('show')">📋 查看 SVG 代码</button>
|
|
<div class="code-block"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="csk-ico-grad" x1="6" y1="8" x2="26" y2="28"
|
|
gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.82"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 对话气泡主体 -->
|
|
<rect x="5" y="8" width="22" height="16" rx="4" fill="url(#csk-ico-grad)"/>
|
|
<path d="M9 24L6 28.5l6-4.5z" fill="url(#csk-ico-grad)"/>
|
|
<!-- 机器人天线 -->
|
|
<line x1="16" y1="8" x2="16" y2="4" stroke="#fff"
|
|
stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3" r="1.5" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 机器人眼睛 -->
|
|
<rect x="9.5" y="13" width="4" height="3.5" rx="1.2"
|
|
fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<rect x="18.5" y="13" width="4" height="3.5" rx="1.2"
|
|
fill="rgba(99,102,241,0.55)" class="svg-eye-blink"/>
|
|
<!-- 眼睛高光 -->
|
|
<circle cx="11" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<circle cx="20" cy="14.2" r="0.7" fill="#fff" opacity="0.9"/>
|
|
<!-- 微笑嘴巴 -->
|
|
<path d="M12.5 20 Q16 22.5 19.5 20" stroke="rgba(99,102,241,0.4)"
|
|
stroke-width="1.2" fill="none" stroke-linecap="round"/>
|
|
</svg></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ==================== 方案二 ==================== -->
|
|
<div class="scheme-card scheme-2">
|
|
<h2>方案二:脉冲星环</h2>
|
|
<p class="subtitle">AI 机器人居中,双层脉冲环向外扩散,模拟信号发射,科技感最强</p>
|
|
|
|
<div class="preview-area">
|
|
<div class="bg-dark">
|
|
<div class="launcher-demo">
|
|
<!-- SVG 方案二 -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s2-body" x1="8" y1="6" x2="24" y2="26" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.85"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 机器人头部(圆角方形) -->
|
|
<rect x="8" y="9" width="16" height="14" rx="3.5" fill="url(#s2-body)"/>
|
|
<!-- 天线 -->
|
|
<line x1="16" y1="9" x2="16" y2="4.5" stroke="#fff" stroke-width="1.8" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3.5" r="1.8" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 耳朵/侧面装饰 -->
|
|
<rect x="5.5" y="13" width="2.5" height="6" rx="1.2" fill="#fff" opacity="0.7"/>
|
|
<rect x="24" y="13" width="2.5" height="6" rx="1.2" fill="#fff" opacity="0.7"/>
|
|
<!-- 眼睛(圆形 + 瞳孔) -->
|
|
<circle cx="12" cy="15" r="2.2" fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="20" cy="15" r="2.2" fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="12.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<circle cx="20.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<!-- 嘴巴(横线格栅) -->
|
|
<line x1="12" y1="20" x2="20" y2="20" stroke="rgba(14,165,233,0.35)" stroke-width="1" stroke-linecap="round"/>
|
|
<line x1="13" y1="21.5" x2="19" y2="21.5" stroke="rgba(14,165,233,0.25)" stroke-width="0.8" stroke-linecap="round"/>
|
|
<!-- 底部对话指示点 -->
|
|
<circle cx="13" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-1"/>
|
|
<circle cx="16" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-2"/>
|
|
<circle cx="19" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-3"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">深色背景</span>
|
|
</div>
|
|
<div class="bg-light">
|
|
<div class="launcher-demo">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s2-body-l" x1="8" y1="6" x2="24" y2="26" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.85"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<rect x="8" y="9" width="16" height="14" rx="3.5" fill="url(#s2-body-l)"/>
|
|
<line x1="16" y1="9" x2="16" y2="4.5" stroke="#fff" stroke-width="1.8" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3.5" r="1.8" fill="#fff" class="svg-antenna-glow"/>
|
|
<rect x="5.5" y="13" width="2.5" height="6" rx="1.2" fill="#fff" opacity="0.7"/>
|
|
<rect x="24" y="13" width="2.5" height="6" rx="1.2" fill="#fff" opacity="0.7"/>
|
|
<circle cx="12" cy="15" r="2.2" fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="20" cy="15" r="2.2" fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="12.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<circle cx="20.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<line x1="12" y1="20" x2="20" y2="20" stroke="rgba(14,165,233,0.35)" stroke-width="1" stroke-linecap="round"/>
|
|
<line x1="13" y1="21.5" x2="19" y2="21.5" stroke="rgba(14,165,233,0.25)" stroke-width="0.8" stroke-linecap="round"/>
|
|
<circle cx="13" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-1"/>
|
|
<circle cx="16" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-2"/>
|
|
<circle cx="19" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-3"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">浅色背景</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="features">
|
|
<span class="feature-tag">🤖 完整机器人</span>
|
|
<span class="feature-tag">📡 双脉冲环</span>
|
|
<span class="feature-tag">👂 耳部装饰</span>
|
|
<span class="feature-tag">💬 对话指示点</span>
|
|
<span class="feature-tag">🔵 青蓝配色</span>
|
|
<span class="feature-tag">👁 眨眼动效</span>
|
|
</div>
|
|
|
|
<div class="code-section">
|
|
<button class="code-toggle" onclick="this.nextElementSibling.classList.toggle('show')">📋 查看 SVG 代码</button>
|
|
<div class="code-block"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="csk-ico-grad" x1="8" y1="6" x2="24" y2="26"
|
|
gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.85"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 机器人头部 -->
|
|
<rect x="8" y="9" width="16" height="14" rx="3.5" fill="url(#csk-ico-grad)"/>
|
|
<!-- 天线 -->
|
|
<line x1="16" y1="9" x2="16" y2="4.5" stroke="#fff"
|
|
stroke-width="1.8" stroke-linecap="round"/>
|
|
<circle cx="16" cy="3.5" r="1.8" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 耳朵 -->
|
|
<rect x="5.5" y="13" width="2.5" height="6" rx="1.2"
|
|
fill="#fff" opacity="0.7"/>
|
|
<rect x="24" y="13" width="2.5" height="6" rx="1.2"
|
|
fill="#fff" opacity="0.7"/>
|
|
<!-- 眼睛 -->
|
|
<circle cx="12" cy="15" r="2.2"
|
|
fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="20" cy="15" r="2.2"
|
|
fill="rgba(14,165,233,0.5)" class="svg-eye-blink"/>
|
|
<circle cx="12.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<circle cx="20.4" cy="14.5" r="0.9" fill="#fff"/>
|
|
<!-- 嘴巴 -->
|
|
<line x1="12" y1="20" x2="20" y2="20"
|
|
stroke="rgba(14,165,233,0.35)" stroke-width="1" stroke-linecap="round"/>
|
|
<line x1="13" y1="21.5" x2="19" y2="21.5"
|
|
stroke="rgba(14,165,233,0.25)" stroke-width="0.8" stroke-linecap="round"/>
|
|
<!-- 对话指示点 -->
|
|
<circle cx="13" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-1"/>
|
|
<circle cx="16" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-2"/>
|
|
<circle cx="19" cy="27" r="1" fill="#fff" opacity="0.5" class="svg-float-3"/>
|
|
</svg></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ==================== 方案三 ==================== -->
|
|
<div class="scheme-card scheme-3">
|
|
<h2>方案三:全息菱形</h2>
|
|
<p class="subtitle">菱形科技边框包裹机器人面孔,扫描线动效,玫红渐变配色极具视觉冲击力</p>
|
|
|
|
<div class="preview-area">
|
|
<div class="bg-dark">
|
|
<div class="launcher-demo">
|
|
<!-- SVG 方案三 -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s3-frame" x1="4" y1="4" x2="28" y2="28" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="0.9"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.65"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 六边形科技框 -->
|
|
<path d="M16 2L28 9v14l-12 7L4 23V9z" stroke="url(#s3-frame)" stroke-width="1.8" fill="none" stroke-linejoin="round"/>
|
|
<!-- 内部填充 -->
|
|
<path d="M16 5L25 10.5v11L16 27l-9-5.5v-11z" fill="url(#s3-frame)" opacity="0.15"/>
|
|
<!-- 机器人面部 -->
|
|
<rect x="10" y="10" width="12" height="11" rx="2.5" fill="url(#s3-frame)"/>
|
|
<!-- 天线 -->
|
|
<line x1="16" y1="10" x2="16" y2="6.5" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="5.5" r="1.3" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 眼睛(LED 条形) -->
|
|
<rect x="12" y="13.5" width="3" height="1.8" rx="0.9" fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<rect x="17" y="13.5" width="3" height="1.8" rx="0.9" fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<!-- 扫描线 -->
|
|
<rect x="10" y="15.5" width="12" height="0.6" rx="0.3" fill="#fff" opacity="0.2" class="svg-scan-line"/>
|
|
<!-- 嘴部数据流 -->
|
|
<line x1="12.5" y1="18.5" x2="19.5" y2="18.5" stroke="rgba(244,63,94,0.3)" stroke-width="0.8" stroke-dasharray="1.5 1" class="svg-data-flow" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">深色背景</span>
|
|
</div>
|
|
<div class="bg-light">
|
|
<div class="launcher-demo">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s3-frame-l" x1="4" y1="4" x2="28" y2="28" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="0.9"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.65"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<path d="M16 2L28 9v14l-12 7L4 23V9z" stroke="url(#s3-frame-l)" stroke-width="1.8" fill="none" stroke-linejoin="round"/>
|
|
<path d="M16 5L25 10.5v11L16 27l-9-5.5v-11z" fill="url(#s3-frame-l)" opacity="0.15"/>
|
|
<rect x="10" y="10" width="12" height="11" rx="2.5" fill="url(#s3-frame-l)"/>
|
|
<line x1="16" y1="10" x2="16" y2="6.5" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="5.5" r="1.3" fill="#fff" class="svg-antenna-glow"/>
|
|
<rect x="12" y="13.5" width="3" height="1.8" rx="0.9" fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<rect x="17" y="13.5" width="3" height="1.8" rx="0.9" fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<rect x="10" y="15.5" width="12" height="0.6" rx="0.3" fill="#fff" opacity="0.2" class="svg-scan-line"/>
|
|
<line x1="12.5" y1="18.5" x2="19.5" y2="18.5" stroke="rgba(244,63,94,0.3)" stroke-width="0.8" stroke-dasharray="1.5 1" class="svg-data-flow" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">浅色背景</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="features">
|
|
<span class="feature-tag">💎 六边形边框</span>
|
|
<span class="feature-tag">🤖 机器人面孔</span>
|
|
<span class="feature-tag">📡 扫描线</span>
|
|
<span class="feature-tag">🔴 玫红渐变</span>
|
|
<span class="feature-tag">✨ 高光扫过</span>
|
|
<span class="feature-tag">📊 数据流动画</span>
|
|
</div>
|
|
|
|
<div class="code-section">
|
|
<button class="code-toggle" onclick="this.nextElementSibling.classList.toggle('show')">📋 查看 SVG 代码</button>
|
|
<div class="code-block"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="csk-ico-grad" x1="4" y1="4" x2="28" y2="28"
|
|
gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="0.9"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.65"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 六边形科技框 -->
|
|
<path d="M16 2L28 9v14l-12 7L4 23V9z"
|
|
stroke="url(#csk-ico-grad)" stroke-width="1.8"
|
|
fill="none" stroke-linejoin="round"/>
|
|
<path d="M16 5L25 10.5v11L16 27l-9-5.5v-11z"
|
|
fill="url(#csk-ico-grad)" opacity="0.15"/>
|
|
<!-- 机器人面部 -->
|
|
<rect x="10" y="10" width="12" height="11" rx="2.5"
|
|
fill="url(#csk-ico-grad)"/>
|
|
<!-- 天线 -->
|
|
<line x1="16" y1="10" x2="16" y2="6.5" stroke="#fff"
|
|
stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="5.5" r="1.3" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- LED 眼睛 -->
|
|
<rect x="12" y="13.5" width="3" height="1.8" rx="0.9"
|
|
fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<rect x="17" y="13.5" width="3" height="1.8" rx="0.9"
|
|
fill="rgba(244,63,94,0.55)" class="svg-eye-blink"/>
|
|
<!-- 扫描线 -->
|
|
<rect x="10" y="15.5" width="12" height="0.6" rx="0.3"
|
|
fill="#fff" opacity="0.2" class="svg-scan-line"/>
|
|
<!-- 数据流嘴巴 -->
|
|
<line x1="12.5" y1="18.5" x2="19.5" y2="18.5"
|
|
stroke="rgba(244,63,94,0.3)" stroke-width="0.8"
|
|
stroke-dasharray="1.5 1" class="svg-data-flow" stroke-linecap="round"/>
|
|
</svg></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ==================== 方案四 ==================== -->
|
|
<div class="scheme-card scheme-4">
|
|
<h2>方案四:矩阵幽光</h2>
|
|
<p class="subtitle">极简机器人面孔 + 旋转能量环,翡翠绿配色,科技感与优雅并存</p>
|
|
|
|
<div class="preview-area">
|
|
<div class="bg-dark">
|
|
<div class="launcher-demo">
|
|
<!-- SVG 方案四 -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s4-body" x1="8" y1="6" x2="24" y2="26" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.8"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 对话气泡 -->
|
|
<rect x="6" y="7" width="20" height="16" rx="4.5" fill="url(#s4-body)"/>
|
|
<path d="M10 23L7.5 27.5l5.5-4.5z" fill="url(#s4-body)"/>
|
|
<!-- 机器人头顶天线 -->
|
|
<line x1="16" y1="7" x2="16" y2="3" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="2.5" r="1.2" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 左眼(圆形大眼) -->
|
|
<circle cx="12" cy="14" r="2.8" fill="rgba(16,185,129,0.2)" stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="12" cy="14" r="1.3" fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="11.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<!-- 右眼(圆形大眼) -->
|
|
<circle cx="20" cy="14" r="2.8" fill="rgba(16,185,129,0.2)" stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="20" cy="14" r="1.3" fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="19.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<!-- 微笑 -->
|
|
<path d="M13 19.5 Q16 21.5 19 19.5" stroke="rgba(16,185,129,0.4)" stroke-width="1" fill="none" stroke-linecap="round"/>
|
|
<!-- 侧面信号线 -->
|
|
<path d="M3 12 Q1.5 15 3 18" stroke="#fff" stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
<path d="M29 12 Q30.5 15 29 18" stroke="#fff" stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">深色背景</span>
|
|
</div>
|
|
<div class="bg-light">
|
|
<div class="launcher-demo">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="s4-body-l" x1="8" y1="6" x2="24" y2="26" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.8"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<rect x="6" y="7" width="20" height="16" rx="4.5" fill="url(#s4-body-l)"/>
|
|
<path d="M10 23L7.5 27.5l5.5-4.5z" fill="url(#s4-body-l)"/>
|
|
<line x1="16" y1="7" x2="16" y2="3" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="2.5" r="1.2" fill="#fff" class="svg-antenna-glow"/>
|
|
<circle cx="12" cy="14" r="2.8" fill="rgba(16,185,129,0.2)" stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="12" cy="14" r="1.3" fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="11.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<circle cx="20" cy="14" r="2.8" fill="rgba(16,185,129,0.2)" stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="20" cy="14" r="1.3" fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="19.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<path d="M13 19.5 Q16 21.5 19 19.5" stroke="rgba(16,185,129,0.4)" stroke-width="1" fill="none" stroke-linecap="round"/>
|
|
<path d="M3 12 Q1.5 15 3 18" stroke="#fff" stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
<path d="M29 12 Q30.5 15 29 18" stroke="#fff" stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
</svg>
|
|
</div>
|
|
<span class="bg-label">浅色背景</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="features">
|
|
<span class="feature-tag">🤖 大眼机器人</span>
|
|
<span class="feature-tag">💬 气泡造型</span>
|
|
<span class="feature-tag">🔄 旋转能量环</span>
|
|
<span class="feature-tag">📡 侧面信号波</span>
|
|
<span class="feature-tag">🟢 翡翠绿</span>
|
|
<span class="feature-tag">🌊 呼吸光晕</span>
|
|
</div>
|
|
|
|
<div class="code-section">
|
|
<button class="code-toggle" onclick="this.nextElementSibling.classList.toggle('show')">📋 查看 SVG 代码</button>
|
|
<div class="code-block"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
<defs>
|
|
<linearGradient id="csk-ico-grad" x1="8" y1="6" x2="24" y2="26"
|
|
gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stop-color="#fff" stop-opacity="1"/>
|
|
<stop offset="100%" stop-color="#fff" stop-opacity="0.8"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- 对话气泡 -->
|
|
<rect x="6" y="7" width="20" height="16" rx="4.5" fill="url(#csk-ico-grad)"/>
|
|
<path d="M10 23L7.5 27.5l5.5-4.5z" fill="url(#csk-ico-grad)"/>
|
|
<!-- 天线 -->
|
|
<line x1="16" y1="7" x2="16" y2="3" stroke="#fff"
|
|
stroke-width="1.5" stroke-linecap="round"/>
|
|
<circle cx="16" cy="2.5" r="1.2" fill="#fff" class="svg-antenna-glow"/>
|
|
<!-- 左眼 -->
|
|
<circle cx="12" cy="14" r="2.8" fill="rgba(16,185,129,0.2)"
|
|
stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="12" cy="14" r="1.3"
|
|
fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="11.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<!-- 右眼 -->
|
|
<circle cx="20" cy="14" r="2.8" fill="rgba(16,185,129,0.2)"
|
|
stroke="rgba(16,185,129,0.5)" stroke-width="0.8"/>
|
|
<circle cx="20" cy="14" r="1.3"
|
|
fill="rgba(16,185,129,0.6)" class="svg-eye-blink"/>
|
|
<circle cx="19.5" cy="13.3" r="0.6" fill="#fff" opacity="0.9"/>
|
|
<!-- 微笑 -->
|
|
<path d="M13 19.5 Q16 21.5 19 19.5"
|
|
stroke="rgba(16,185,129,0.4)" stroke-width="1"
|
|
fill="none" stroke-linecap="round"/>
|
|
<!-- 信号波 -->
|
|
<path d="M3 12 Q1.5 15 3 18" stroke="#fff"
|
|
stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
<path d="M29 12 Q30.5 15 29 18" stroke="#fff"
|
|
stroke-width="0.8" fill="none" opacity="0.3" stroke-linecap="round"/>
|
|
</svg></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- ==================== CSS 动画速查 ==================== -->
|
|
<div class="schemes" style="padding-top: 0;">
|
|
<div class="scheme-card" style="grid-column: 1 / -1;">
|
|
<h2>🎬 CSS 动画关键帧速查</h2>
|
|
<p class="subtitle">以下是所有方案共用的 CSS 动画,已包含在 styles.ts 中,SVG 内部的 class 动画需额外添加</p>
|
|
|
|
<div class="code-section">
|
|
<button class="code-toggle" onclick="this.nextElementSibling.classList.toggle('show')">📋 查看完整 CSS 动画代码</button>
|
|
<div class="code-block">/* ===== 按钮外圈动效(已存在于 styles.ts) ===== */
|
|
|
|
/* 高光扫过 */
|
|
@keyframes csk-shimmer {
|
|
0%, 100% { left: -60%; opacity: 0; }
|
|
20% { opacity: 1; }
|
|
60% { opacity: 1; }
|
|
80% { left: 120%; opacity: 0; }
|
|
}
|
|
|
|
/* 呼吸光晕 */
|
|
@keyframes csk-breathe {
|
|
0%, 100% { transform: scale(1); opacity: 1; }
|
|
50% { transform: scale(1.15); opacity: 0.35; }
|
|
}
|
|
|
|
/* 脉冲扩散环(方案二专用) */
|
|
@keyframes csk-pulse-ring {
|
|
0% { transform: scale(0.9); opacity: 0.8; }
|
|
100% { transform: scale(1.5); opacity: 0; }
|
|
}
|
|
|
|
/* 旋转能量环(方案四专用) */
|
|
@keyframes csk-rotate-ring {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
/* ===== SVG 内部动效(需新增到 styles.ts) ===== */
|
|
|
|
/* 眨眼 */
|
|
@keyframes csk-eye-blink {
|
|
0%, 42%, 48%, 100% { opacity: 1; }
|
|
45% { opacity: 0.1; }
|
|
}
|
|
|
|
/* 天线能量闪烁 */
|
|
@keyframes csk-antenna-glow {
|
|
0%, 100% { opacity: 0.5; }
|
|
50% { opacity: 1; }
|
|
}
|
|
|
|
/* 扫描线 */
|
|
@keyframes csk-scan-line {
|
|
0% { transform: translateY(-8px); opacity: 0; }
|
|
20% { opacity: 0.6; }
|
|
80% { opacity: 0.6; }
|
|
100% { transform: translateY(8px); opacity: 0; }
|
|
}
|
|
|
|
/* 数据流(虚线移动) */
|
|
@keyframes csk-data-flow {
|
|
0% { stroke-dashoffset: 20; }
|
|
100% { stroke-dashoffset: 0; }
|
|
}
|
|
|
|
/* 浮动圆点 */
|
|
@keyframes csk-float-dot {
|
|
0%, 100% { transform: translateY(0); opacity: 0.4; }
|
|
50% { transform: translateY(-2px); opacity: 1; }
|
|
}
|
|
|
|
/* SVG class 绑定 */
|
|
.csk-launcher .svg-eye-blink {
|
|
animation: csk-eye-blink 4s ease-in-out infinite;
|
|
}
|
|
.csk-launcher .svg-antenna-glow {
|
|
animation: csk-antenna-glow 2s ease-in-out infinite;
|
|
}
|
|
.csk-launcher .svg-scan-line {
|
|
animation: csk-scan-line 3s ease-in-out infinite;
|
|
}
|
|
.csk-launcher .svg-data-flow {
|
|
animation: csk-data-flow 2s linear infinite;
|
|
}
|
|
.csk-launcher .svg-float-1 {
|
|
animation: csk-float-dot 2s ease-in-out infinite;
|
|
}
|
|
.csk-launcher .svg-float-2 {
|
|
animation: csk-float-dot 2s ease-in-out 0.3s infinite;
|
|
}
|
|
.csk-launcher .svg-float-3 {
|
|
animation: csk-float-dot 2s ease-in-out 0.6s infinite;
|
|
}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ==================== 方案对比 ==================== -->
|
|
<div class="schemes" style="padding-top: 0;">
|
|
<div class="scheme-card" style="grid-column: 1 / -1;">
|
|
<h2>📊 方案对比</h2>
|
|
<p class="subtitle">根据使用场景选择最合适的方案</p>
|
|
<table style="width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 14px;">
|
|
<thead>
|
|
<tr style="border-bottom: 1px solid rgba(99,102,241,0.2);">
|
|
<th style="text-align: left; padding: 12px 8px; color: #a5b4fc;">方案</th>
|
|
<th style="text-align: center; padding: 12px 8px; color: #a5b4fc;">科技强度</th>
|
|
<th style="text-align: center; padding: 12px 8px; color: #a5b4fc;">亲和力</th>
|
|
<th style="text-align: center; padding: 12px 8px; color: #a5b4fc;">辨识度</th>
|
|
<th style="text-align: center; padding: 12px 8px; color: #a5b4fc;">动效丰富度</th>
|
|
<th style="text-align: center; padding: 12px 8px; color: #a5b4fc;">适用场景</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr style="border-bottom: 1px solid rgba(99,102,241,0.08);">
|
|
<td style="padding: 12px 8px;">⭐ 方案一:赛博机器人</td>
|
|
<td style="text-align: center;">★★★☆☆</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center; color: #94a3b8;">通用客服、电商</td>
|
|
</tr>
|
|
<tr style="border-bottom: 1px solid rgba(99,102,241,0.08);">
|
|
<td style="padding: 12px 8px;">方案二:脉冲星环</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center;">★★★☆☆</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center; color: #94a3b8;">技术产品、SaaS</td>
|
|
</tr>
|
|
<tr style="border-bottom: 1px solid rgba(99,102,241,0.08);">
|
|
<td style="padding: 12px 8px;">方案三:全息菱形</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center;">★★★☆☆</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center; color: #94a3b8;">潮流品牌、游戏</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 12px 8px;">方案四:矩阵幽光</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center;">★★★★☆</td>
|
|
<td style="text-align: center;">★★★★★</td>
|
|
<td style="text-align: center; color: #94a3b8;">健康医疗、教育</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|