- website-content/:官网 10 篇文档内容 + README - website-design/:官网设计稿、动画实验、预览图与资源 - 根目录官网截图两张 - .gitignore 忽略 website-design/exp/static/dist 构建产物(7.1MB)
112 lines
2.9 KiB
CSS
112 lines
2.9 KiB
CSS
/* 沙箱与网络授权动画 —— 场景样式(主页 feature 行 / anim2-demo 页共用)
|
||
无边框无底色,融于星空;无 glow。恶意命令红 --danger 定义在 .anim2-window 作用域。 */
|
||
|
||
/* ───────── 动画容器 ───────── */
|
||
|
||
.anim2-window {
|
||
--danger: #d47b6b; /* 恶意命令红,仅本动画作用域 */
|
||
width: 100%;
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* ───────── 场景区 ───────── */
|
||
|
||
.anim2-stage {
|
||
position: relative;
|
||
flex: 1;
|
||
overflow: hidden;
|
||
}
|
||
|
||
/* 防御者:右侧,六边形 + 盾牌(尺寸与 04 版本控制的智能体一致:70×70) */
|
||
.defender {
|
||
position: absolute;
|
||
right: 36px;
|
||
bottom: 26px;
|
||
width: 70px;
|
||
height: 70px;
|
||
}
|
||
.defender-avatar {
|
||
display: block;
|
||
width: 70px;
|
||
height: 70px;
|
||
color: var(--text-1);
|
||
}
|
||
.defender-avatar .astrion-avatar { width: 100%; height: 100%; }
|
||
|
||
/* 盾牌举向左上方:顺时针倾斜(尖底朝左下),与六边形左上部分重叠遮挡,实色填充不透底 */
|
||
.defender-shield {
|
||
position: absolute;
|
||
left: -19px; /* 与角色同比例(96→70,×0.729)等比缩小 */
|
||
top: -9px;
|
||
width: 51px;
|
||
height: 51px;
|
||
color: var(--accent);
|
||
fill: var(--bg-1);
|
||
transform: rotate(24deg);
|
||
}
|
||
|
||
/* 盾牌/智能体受击后坐回弹 */
|
||
@keyframes defender-brace {
|
||
0% { transform: translateX(0); }
|
||
30% { transform: translateX(5px); }
|
||
60% { transform: translateX(-1.5px); }
|
||
100% { transform: translateX(0); }
|
||
}
|
||
.defender.is-hit { animation: defender-brace 0.34s ease; }
|
||
|
||
/* ───────── 飞行中的命令块 ───────── */
|
||
|
||
.cmd-projectile {
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
font-family: var(--font-mono);
|
||
font-size: 13.5px;
|
||
font-weight: 600;
|
||
color: var(--danger);
|
||
white-space: nowrap;
|
||
will-change: transform;
|
||
/* 装填入场只动透明度:fill both 保持 transform 会压住 JS 逐帧位移动画 */
|
||
animation: cmd-load 0.4s ease both;
|
||
}
|
||
@keyframes cmd-load {
|
||
from { opacity: 0; }
|
||
to { opacity: 1; }
|
||
}
|
||
|
||
/* ───────── 字符碎片(撞击后炸开) ───────── */
|
||
|
||
.cmd-shard {
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
font-family: var(--font-mono);
|
||
font-size: 13.5px;
|
||
font-weight: 600;
|
||
color: var(--danger);
|
||
will-change: transform, opacity;
|
||
}
|
||
|
||
/* ───────── 撞击扩散环(描边圆环,非光晕) ───────── */
|
||
|
||
.impact-ring {
|
||
position: absolute;
|
||
width: 41px; /* 随盾牌等比(56×0.729) */
|
||
height: 41px;
|
||
border: 2px solid var(--accent-strong);
|
||
border-radius: 50%;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transform: translate(-50%, -50%) scale(0.3);
|
||
}
|
||
.impact-ring.is-active {
|
||
animation: impact-expand 0.45s ease-out both;
|
||
}
|
||
@keyframes impact-expand {
|
||
0% { opacity: 0.75; transform: translate(-50%, -50%) scale(0.3); }
|
||
100% { opacity: 0; transform: translate(-50%, -50%) scale(1.35); }
|
||
}
|
||
|