跳到正文

// REFERENCES 依据

云游戏页实测数据

云游戏页(/cloud)和页面里的鹰角账号弹窗的原始数值

本页是 云游戏页 引用的原始数据。所有数值来自 2026-10-24 在浏览器中读取《云·终末地》官网的计算样式与样式表规则;没有转存官方的样式文件、图片或字体。

  • 页面:https://endfield.hypergryph.com/cloud,挂在官网域名下;各视图的入口见 官方来源。
  • 测量:2026-10-24,在浏览器里读计算样式、元素几何和样式表规则。样式表是跨源的,读不到 cssRules,是把文本取回来自己解析的;仓库里不存任何官方文件。每份原始记录都另做过一遍独立复测,本页取复测更正后的值。
  • 视口:1440×810(主测,html 16px)、1024×768;375×812 量了两种——桌面版载入后直接缩窗,和换成移动平台(Android UA)重新载入。
  • 样式表文件名 index.83cf05.css。类名是 6 位哈希,每次构建都会变,下文统一去掉哈希,按角色称呼部件;图片也去掉文件名里的哈希,只记文件名和原图尺寸。
  • 未登录的视图在全新的无头浏览器 profile 里量;登录后的视图在维护者自己已登录的会话里量,UID、头像、时长、余额、记录一律不记,商城价格也不记。
  • 来源标记:规则 = 样式表原文;计算 = 计算样式与实测几何;观察 = 看得到但没有可读数值(图片像素、SVG 内容);脚本 = 读页面脚本得出的行为或常量。没标的默认是规则加计算。
  • 官网首页的数据在 官网实测数据。两边是两套构建,根字号、字体、颜色都不同,数值不通用。
  • 官网会改版。数值过期时以重新测量为准,并更新本页日期。

1. 尺寸基准#

页面脚本把根字号写进 html 元素的内联样式:

平台 html 字号 说明
桌面,宽 1180 – 2560px 16px 固定,不随视口缩放;高度不参与
桌面,宽不到 1180 或超过 2560 16 × 宽 / 1920(即宽 / 120) 整页等比缩放,不重排
移动平台 16 × min(1, 短边 / 390) 竖屏按宽、横屏按高算,上限 16px
  • 写法:先写目标值 a,再读一次计算值 l,不相等就改写成 a²/l,抵消浏览器的最小字号限制;Android 上的 QQ 浏览器和鸿蒙 UA 跳过这一步。(脚本)
  • 平台(body 的 data-platform)只在模块载入时判定一次:平板类(iPad、不带 Mobile 的 Android、粗指针无悬停等)判成 mobile;其余桌面 UA 一律 desktop,非桌面 UA 短边 ≤600 判成 mobile。改窗口大小不会换平台,要重新载入。(脚本)
  • 移动平台进游戏、开公告时会强制横屏:body 宽高互换并转 90°(data-rotate="1"),字号按转过之后的宽高算。(脚本)
  • 样式表里没有按宽度写的桌面断点,布局断点在脚本里(1180 / 2560),移动端规则写成"平台属性 + 方向"。唯一一条和 16px 区间对齐的媒体查询是未登录宣传图的尺寸(8.4)。

验证(每次改尺寸后派发 resize 再读):

视口 平台 html 字号
1440×810、1440×400、1920×300、1920×2400、2560×1440 桌面 16px
1180×810 / 1179×810 桌面 16px / 9.825px
1024×768 桌面 8.53334px
2561×1080 / 3840×2160 桌面 21.3416px(内联值只留 4 位小数)/ 32px
375×812(桌面版缩窗) 桌面 3.125px
375×812 / 414×896 移动 15.3846px / 16px
360×740、740×360 / 320×568 移动 14.7693px / 13.1282px

下文的 rem 在 1180 – 2560 宽时就是 16px,括号里的像素值都按 1440×810 写。

几处另有尺度:

  • "更多"视图是一块 2560px 宽的设计画布,用 transform: scale() 整体缩放:scale = (容器宽 − 侧栏宽) / 2560,桌面上侧栏宽变量是 0,所以 1440 宽时 0.5625、1024 宽时 0.4;画布高 = 可视高 / scale。它的规则全用 px,下文记作"设计 px",屏幕 px = 设计 px × scale。画布里的页脚再用 zoom 反缩放回原尺寸。(脚本)
  • 下载弹窗按 108.5 × 53.5rem 排版(1736 × 856 设计 px)后整体缩放,桌面上约占视口宽的 1736 / 2560 = 67.8%(8.10)。
  • 公告面板是另一个站点的内嵌页,根字号自己算(8.12);商城面板内联写了 font-size: 视口宽 / 1194 × 16px,只影响继承文字(9.4);页脚来自鹰角网页 SDK,全用固定 px(8.7);鹰角账号 SDK 不用 rem,用自己的 --base-em-size 字号档(11.3);支付 SDK 用 --pay-sdk-size(9.4)。

2. 字体#

2.1 字族#

页面样式表里的 @font-face 共 13 条(Bebas 那条一模一样地声明了 6 次):

字族名 字重 文件 引用次数 说明
CloudGameMedium 500 42CloudGame_500(woff2 / woff / ttf) 1,599 主力字体
CloudGameRegular 400 42CloudGame_400 1,317
CloudGameBold 700 42CloudGame_700 1,111 首屏没用到时不加载
SourceHanSansCN-Regular 400 woff2 / woff / ttf 56 思源黑体:标语、下载卡副标题;没写 font-display
HarmonyOSSansSCBlack 900 HarmonyOS_Sans_SC_Black.ttf(只有 ttf) 43 大标题
HarmonyOSSansSCMedium 500 HarmonyOS_Sans_SC_Medium.ttf(只有 ttf) 36
HarmonyOSSansSCBold 700 HarmonyOS_Sans_SC_Bold.ttf(只有 ttf) 6 下载卡标题
BebasNeueOfficial 400 base64 内联的 ttf,7,244 字节 12 只含 . 和 0–9 的数字子集;font-display swap
  • 一个字族名只对应一个字重:换字重靠换字族名,不靠 font-weight 选面。字阶里的 btn2_w600 是 CloudGameRegular 配 600,靠浏览器合成加粗,用户中心下拉的条目就是它(9.2)。
  • 字族名和文件名都直接写着 HarmonyOS Sans SC。这支持 官网首页 "改了名的中文字体是 HarmonyOS Sans SC"的推断,但不能证明:两边是不同的构建,也没做字形比对。
  • 页面没有给 html、body、#root 设字体。没写字体的元素继承浏览器默认字体(测量机上是 Noto Sans SC),例如顶栏容器、"更多"侧栏下载按钮的本体、节点选择的表头(9.5)。另有系统字体栈:-apple-system 一组 4 次(其中有"更多"加载层的百分比),PingFang 一组 1 次(游戏内跑马灯)。
  • SDK 自带字体:页脚用 SDK_Sans(8.7),账号 SDK 弹窗用 sans-serif 和 Arial(11.3),支付 SDK 用 "HG Source Han Sans"(9.4)。

2.2 字阶#

字阶是一组只含字族、字号、字重、行高的原子类。同一份字阶模块被约 52 个组件各引入一次,全表 4,161 条、去重后 199 种。令牌名取自脚本里 CSS Modules 的映射。

A. 应用字阶(rem,各视图通用):

令牌 字族 字号 字重 行高
hl_h1 / hl_h2 CloudGame Medium / Bold 5rem(80px)/ 2rem(32px) 500 / 700 1.2
h1 CloudGame Bold / Medium / Regular 1.625rem(26px) 700 / 500 / 400 1.2;Regular 为 2rem
h2 – h6 同上三档 1.5 / 1.25 / 1.125 / 1 / .9375rem(24 – 15px) 700 / 500 / 400 1.2
sh1 – sh6 同上三档 1 / .875 / .8125 / .75 / .6875 / .625rem(16 – 10px) 700 / 500 / 400 1.2
b1 – b6 同上三档 同 sh 700 / 500 / 400 1.4
btn0 – btn5 CloudGame Medium 1.125 / 1.125 / 1 / .875 / .8125 / .75rem 500 1.4;btn2 另有一档 Regular 合成 600、行高 1.125
c1 – c5 CloudGame Medium / Regular .875 – .625rem(14 – 10px) 500 / 400 1.1
c6 / c7 CloudGame Medium、Regular、Bold / Bold .5rem(8px)/ .375rem(6px) 500、400、700 / 700 1.1;Bold 1.2

胶囊按钮的五档尺寸借 btn0 – btn5 的字号,但后面一条特异度相同的尺寸规则把行高改成了定值:s44、s40 为 1.25rem,s34 为 1.125rem,s28 为 1rem,s24 为 .875rem(8.3)。

B. 首页与加载层字阶(rem,约 5 份;和 A 同名的键在这些模块里换成了下面的值):HarmonyOS Black 的 h1 5rem(80px)、h2 2.9rem、h3 2.5rem、mh1 4rem;HarmonyOS Bold 的 h4 1.875rem(30px);b1 4.05rem(64.8px,Black / Medium / 思源黑体三档)、b2 3.25rem、b3 1.6875rem;思源黑体的 mh2 3.2rem、mc1 1.75rem、c1 – c3 1.1875 / 1.125 / .875rem;mc0 – mc4 在 1.9375 – 1.5rem 之间;行高都是 1.2。数字 num 用 BebasNeueOfficial,15.25rem(244px),移动 18rem,行高 1。

C. "更多"视图:A、B 合并后的 px 版(1 份),数值等于 rem × 16,整块再随画布缩放。

典型角色(1440×810):顶栏页签、浮层与弹窗标题是 CloudGame Medium 或 Bold 1.125rem(18px);导航项和浮层按钮文字 CloudGame Medium 1rem;胶囊按钮文字 CloudGame Medium 1.125rem、行高 1.4;提示条正文 CloudGame Regular 1rem;"更多"的目录名、标题、标语分别是 CloudGame Bold 32、HarmonyOS Black 80、思源黑体 60 设计 px(屏幕 18 / 45 / 33.75px,标语在字阶里是 64.8,这里覆盖成 60);下载卡标题 HarmonyOS Bold 1.875rem,随面板缩到约 16.9px。

3. 颜色#

3.1 根上的变量与回退值#

:root 上只定义了 13 个颜色变量(另有一条内联样式定义四个 --safe-area-inset-*)。名字按"明暗面 - 层级 - 用途"分层:dark-1-text-* 是深底上的文字,general-3-btn-* 是按钮。

角色 变量 值 引用
深底·白字 / 主文字 / 次文字 --dark-1-text-white / -primary / -secondary #FFFFFF / #EEEEEE / #BFBFBF 16 / 51 / 29
浅底·主文字 / 次文字 --light-1-text-primary / -secondary #292929 / #5E5E5E 21 / 7
黑 80% 蒙层 --general-2-basic-black-mask-80 rgba(0,0,0,.8) 17
品牌黄 --general-1-brand-yellow #FFF100 19
红按钮 --general-3-btn-bg-red-default #F14F53 2
黄按钮·默认 / 悬停 / 按下 --general-3-btn-bg-yellow-default / -hover / -pressed #F2E200 / #F2E861 / #918800 各 1
黄按钮·禁用 --general-3-btn-bg-yellow-default-disabled #F2E200 0
提醒橙 --general-4-highlight-highlight-remind #FF7500 1

更多令牌 :root 没定义,只出现在 var() 的后备值里——实际生效的就是后备值:

角色 变量(去掉前缀 --) 后备值
深底·三级 / 四级文字;深底·面 dark-1-text-tertiary / -quaternary;dark-2-bg-bg-1 #737373 / #3A3A3A;#212121
浅底·黑 / 三级 / 四级文字 light-1-text-black / -tertiary / -quaternary #000000 / #787878 / #A7A7A7
浅底·面 2 / 3 / 4 light-2-bg-bg-2 / -3 / -4 #D9D9D9 / #E6E6E6 / #F2F2F2
状态色 蓝 / 绿 / 红 / 黄 light-3-status-color-* #1CB7F0 / #7DCB1A / #F95A5E / #E1BD00
灰按钮、黑按钮 默认 / 悬停 / 按下 general-3-btn-bg-gray-*、-black-* #EEEEEE / #FAFAFA / #8F8F8F;#444444 / #696969 / #292929
红按钮 悬停 / 按下;描边按钮 黑 / 红 / 白 general-3-btn-bg-red-*、-btn-outline-* #F76468 / #8F2426;#444444 / #F14F53 / #DCDCDC
白蒙层 / 黑蒙层 general-2-basic-white-mask-3 … -60 / black-mask-5 … -60 白 3% – 60%、黑 5% – 60%
灰蒙层 / 深色提示底 general-2-basic-gray-mask-90 / general-5-toast-dark rgba(18,18,18,.9) / rgba(18,18,18,.95)
缓动 ease-linear / ease-out-strong / ease-out-extreme linear / ease-out / cubic-bezier(.2,0,.1,1)
  • white-mask-10 有一处后备值误写成 .2,用在游戏内选项块的悬停边上,生效的是 .2(9.5)。反过来,dark-1-text-primary 一处后备写 #CCC,因为 :root 有定义,这个后备不生效。
  • --general-1-border-dark、--light-toast-offset 没有后备值,:root 也没定义;--light-toast-offset 由跑马灯组件内联写,--general-1-border-dark 的值没量到。color-scheme 是 light only,theme-color 是 #000000;页面没有暗色模式。
  • 鹰角账号 SDK 有自己的三套皮肤变量(11.2),支付 SDK 有自己的皮肤令牌(9.4),都不在这两张表里。

3.2 出现频率最高的值#

按样式表原文的声明计(先去掉 url(),var() 后备值和 -webkit- 副本都算),共 133 种、767 次。按次数排:

#FFFFFF 72(文字 38、背景 26、遮罩图 6)、#EEEEEE 62(文字 47)、#000000 37(文字 14、背景 11、遮罩图 10)、#FFF100 34(文字 19、背景 11)、rgba(255,255,255,.2) 30(边 15、背景 10)、#BFBFBF 29、rgba(255,255,255,.1) 25、#292929 与 #A7A7A7 各 23、rgba(0,0,0,.8) 19、#787878 与 #737373 各 16、rgba(255,255,255,.05) 13、#E6E6E6 与 #333333 各 12、rgba(0,0,0,.2) / rgba(0,0,0,.5) / transparent / #666666 各 11,然后是三色竖条的 #FE1AAB、#3BFFB7、#FEFB3C 各 10(3.4)。

white、black、red、gray 这几个关键字在声明里一次都没出现,#FF0000、#808080 也是 0 次。

3.3 黄色#

名称 值 来源 用在哪
品牌黄 #FFF100 CSS 令牌 下载项悬停底与左侧竖条的上端;"更多"的目录下划线、侧栏下载按钮悬停、加载层进度条与揭幕;账号卡的剩余值与时长值;游戏内选项块的选中边与角标;排队面板"最高可提速95%"
品牌黄光晕 rgba(255,241,0,.45) CSS "更多"加载层进度条的 0 0 10px 光晕
按钮黄 #F2E200 → #F2E861 → #918800 CSS 令牌 主要胶囊按钮的默认 → 悬停 → 按下("开始游戏")
商城黄 #FFF200;#F9EF18 → #FFFDF5 CSS 商品卡的赠送标签;侧栏当前页签的竖条渐变
三色条黄 #FEFB3C CSS 分享浮层等处的三色竖条(3.4)
公告页黄 #FFF100、#FEFA10、#FECE10 公告页 #FFF100:NEW 角标底(图)与折叠块的左竖条;#FEFA10:手柄焦点的箭头;#FECE10:手柄焦点框的外发光
SDK 黄与金 #FFD800、#E9BA15 账号 / 支付 SDK ef 皮肤的品牌色、头部底边、勾选;链接与高亮字(11.2、9.4)。游戏条款弹窗用的也是这两个
图片黄 #FDFD1F、#FEFE63、#FFFA00 图(观察) "更多"的黄条、斜纹深浅两色、角块黄芯、频率条端部竖条(#FFFA00);下载卡标题前的小方块、三色条的黄段(#FFFA00)
图片黄 #FCFC1F、#F3F329、#F0E000、#FFF100 SVG 填色 / 图(观察) "更多"加载层的三角标;下载弹窗标题的点缀;手机版"更多"的标题横幅;时长记录头部的三色条

图里的黄是读到的像素,多数和 CSS 的两种黄不一致;时长记录头图(PNG 原图)和公告 NEW 角标的黄正好是 #FFF100。

3.4 三色竖条#

CSS 画的(分享浮层,linear-gradient 从上往下硬分段):

变体 宽 × 高、位置 品红 #FE1AAB 薄荷绿 #3BFFB7 黄 #FEFB3C
桌面首页 .125 × 2.125rem(2 × 34px),头部左缘,top .8125rem 0 – .4375rem(7px) .4375 – .9375rem(8px) .9375 – 2.125rem(19px)
游戏内 高 1.625rem,top .625rem 0 – .375rem .375 – .6875rem .6875 – 1.625rem
手机 高 1.9375rem,top .75rem 0 – .375rem .375 – .875rem .875 – 1.9375rem
手机游戏内 .0625 × 1rem,top .375rem 0 – .25rem .25 – .4375rem .4375 – 1rem

游戏内"下载"浮层每栏左缘也有一根(.125rem 宽,规则写作 .625 / .6875 / 1.75rem 三段)。

图里的(下载卡背景 modal-item-bg.png,655×484,1 倍图,单位是设计 px;观察):贴白卡左缘,x 18 – 24(实色 19 – 22);从上往下品红 #FF1AAC y 58 – 82(24)→ 薄荷绿 #00FFA2 y 82 – 106(24)→ 黄 #FFFA00 y 106 – 131 实色,再往下约 40px 渐到白,y≈171 才全白。

两版色值略有出入:CSS 版三段是 7 : 8 : 19,图版三段等长、黄段再加一截渐隐。另有两处横向的三色,顺序和比例都不同:时长记录弹窗头部底边约 2px 高的一条(图,原图是硬边纯色:绿 #00FFA2 58.9% → 品牌黄 #FFF100 30.2% → 品红 #FF00F0 10.9%),和首页宣传图平台条右上角的黄、青、粉小色块。

3.5 灰阶与状态色#

角色 值 用在哪
深底文字 #EEEEEE / #BFBFBF / #737373 / #3A3A3A 主 / 次(也是悬停色)/ 三级(未选页签、关闭钮)/ 四级(按下)
浅底文字 #292929 / #5E5E5E / #787878 / #A7A7A7 主 / 次 / 三级(按钮字、弹窗正文)/ 四级(未选目录、时间)
浅底面 #D9D9D9 / #E6E6E6 / #F2F2F2 商城面板下半 / 当前项底块、弹窗正文区 / 分享内容区、记录行
深底面 #212121 / #141414 / #171717 / #1A1A1A 商城头部 / "更多"加载层与侧栏下载按钮 / 启动加载层 / 不模糊时的实底
按钮灰 #444444 / #333333 深色按钮与弹窗头 / 下载弹窗的平台按钮
状态 蓝 / 绿 / 红 / 黄 #1CB7F0 / #7DCB1A / #F95A5E / #E1BD00 移动提示条的链接 / 记录增加、低延迟 / 记录扣减、网络差 / 网络不稳定
橙与红 #FF7500 / #FC5410 / #F14F53 公告角标 / 商城限时标签 / 警示胶囊按钮
页面底 #849AAC / #FFFFFF / #000000 桌面首页(脚本只在官方版、桌面、不在游戏中时加)/ "更多" / 其余与移动端
页脚底 #252726 页脚(SDK)

页面自己的文字与底色令牌全是纯灰(R = G = B);带色偏的 #252726、#CCCCCA、#F2F1EF、#9F9EA0 都来自 SDK。

4. 圆角#

值 次数 用在哪
.25rem(4px) 34 顶栏导航项、浏览器提示条、弹窗主体与头部上角、用户中心条目(悬停时)、时长块、记录行、设置行、商品卡主体、商城侧栏、游戏内提示条、最小化排队胶囊
.125rem(2px) 29 分享浮层的按钮、商品价格牌与标签、节点行、选项块、小标签
.5rem(8px) 13 分享浮层、用户中心下拉、提示气泡、商城面板、游戏菜单条与二级浮层
.375rem(6px) 7 活动 banner、提示条基类;单角写法的 6px 用在账号卡头部、排队面板标题头
.75rem(12px) 6 商城钱包胶囊(基类)、"活动说明"小胶囊、"已游玩"胶囊
3.75rem(60px) 5 胶囊按钮本体和四个变体的内圈线
.1875rem / 50% / .625rem / .875rem / 0 4 / 3 / 3 / 2 / 6 .875rem 是开关的轨道与滑块

次数只数写成单个值的那些;"用在哪"一栏把同尺寸的单角和四值写法也算进去了(如弹窗头的 .25rem .25rem 0 0)。另有 25 种写法各 1 – 2 次,例如 .34375rem(商城横幅 5.5px)、.35rem(账号卡下半 5.6px,和上半的 6px 不一样)、1rem(官方版钱包胶囊)、1.25rem(游戏条款弹窗)。尺度不同的几处:"更多"侧栏的下载按钮 2 设计 px(屏幕 1.125px);下载弹窗的平台按钮 .25rem,随面板缩到 2.25px;公告页的面板与列表项 7.5px;账号 SDK 的卡片 E(20)(1440 下 16px)、输入框是胶囊(11.4);支付 SDK 的按钮 40px(9.4)。

4 – 8px 这几档看不大出形状;真正改变形状的是胶囊按钮、开关和 SDK 的胶囊输入框。

5. 阴影与背景模糊#

用在哪 值
浏览器提示条 0 .375rem 1.125rem rgba(0,0,0,.28)(0 6px 18px)
分享浮层 / 用户中心下拉 0 .25rem 1rem rgba(0,0,0,.2) / .4(0 4px 16px)
游戏菜单条 / 游戏内文本输入条(向上投) / 游戏条款弹窗 0 .25rem .75rem rgba(0,0,0,.4) / 0 −.25rem 1rem rgba(0,0,0,.4) / 0 .6rem .6rem rgba(0,0,0,.25)
"更多"侧栏 0 0 16px rgba(0,0,0,.2)(设计 px,屏幕约 9px)
商品卡主体 / 时长记录行 / 商城侧栏 / 最小化排队胶囊 0 0 .75rem rgba(0,0,0,.25) / 0 0 .75rem rgba(0,0,0,.2) / 0 0 .25rem rgba(0,0,0,.25) / 0 0 .5rem rgba(18,18,18,.2)
分享浮层内容区与按钮 inset 0 0 0 .0625rem rgba(255,255,255,.2)(及 .1、.03),用阴影画 1px 内线
"更多"加载层的进度条 0 0 10px rgba(255,241,0,.45) 一类黄光晕(4 条写法)
公告角标的菱形 drop-shadow(0 0 .125rem #000)

全表 29 种 box-shadow。和官网首页"全部零偏移"不同,这里的浮层阴影都向下偏。

背景模糊:

  • backdrop-filter: blur(.3125rem)(5px)23 条(-webkit- 24 条),是全站统一的毛玻璃:顶栏、浏览器提示条、分享浮层、用户中心下拉、账号卡的三块、下载弹窗与通用弹窗的遮罩、最小化排队胶囊、游戏内提示条与菜单浮层。公告与 CDKEY 的外壳是脚本内联的 blur(5px),固定 px。
  • 例外:桌面版商城的遮罩不模糊(手机版模糊)。filter: blur(8px) 用在"更多"加载层的底图上。
  • 降级:body[data-backdrop-filter="0"] 时所有元素 backdrop-filter: none !important,顶栏改成 #1A1A1A、账号卡的畅玩卡块和时长块改成 rgb(26,26,26) 实底。这个属性由入口脚本在启动时按 UA 设置,针对华为、荣耀、鸿蒙的浏览器(UA 含 HuaweiBrowser、HonorBrowser、HarmonyOS、HONOR、HUAWEI 等),不是检测浏览器支不支持。(脚本)
  • iOS(@supports (-webkit-touch-callout: none))在强制横屏时也关掉模糊和动画。

6. 纹理与装饰#

CSS 画的:

装饰 做法
分享浮层的三色竖条 硬分段 linear-gradient(3.4)
公告日期的斜线 .5875 × .0125rem 的 #989898 细条转 −45°(公告页 70.5 × 1.5px)
"更多"目录的下划线与当前项底块 148 × 6 设计 px 的 #FFF100 色块;#E6E6E6 底块加 8 设计 px 的 #191919 竖条(8.8)
下载项左侧的竖条 4 × 36px,linear-gradient(#FFF100, #FFFFFF)
公告角标 10px 方块转 45°,#FF7500
前导线 1px 线 + 两端 3px 方块(::before / ::after),"开始游戏""下载游戏"胶囊按钮里;账号卡分隔线、"续期""充值"胶囊按钮、排队按钮里是同一画法,方块 2px
提示条的边 浏览器提示条 1px rgba(255,255,255,.12);游戏内提示条四角各一根 3 × 1.5px 的 #737373 短刻,轻提示型左右各一根 1px 竖线
游戏菜单条的斜纹 repeating-linear-gradient(-45deg, …),rgba(40,40,40,.98) 与 rgba(50,50,50,.98) 各 2px
渐隐与分隔 "更多"刻度尺右端的白色渐隐;加载层 1120 设计 px 的分隔线(透明 → 白 10% → 透明)

图片(尺寸是原图;内容是观察):

装饰 资源 原图 里面有什么
顶栏 nav-home-divider.svg、nav-home-tab-indicator.svg、nav-home-tab-tip.svg、nav-download-pattern.png 4×36、40×2、6×3(显示尺寸,原图没量)、279×108 两端带小方块的灰色细竖线;拉伸到文字宽的白线;朝下的白色小三角;下载项的浅灰细斜纹
胶囊按钮底纹 bg-button-dark.png(深色变体 bg-button-white.png) 240×66 浅色等高线纹,靠右
首页宣传块、适龄角标 logo-unlogin.png、age.png 756×783、327×420 标志、[正式上线]、平台条、标语、英文微标全在图里;蓝底"12+ / CADPA"、白底"适龄提示"、黑框
"更多"的标题卡、黄条、频率条、角块、大字、背景 title-bg.png、texture-triangle.png、frequency-*.png、square-decoration.png、texture-word.png、content-bg.png、texture-line.png 见 8.9 斜纹、点阵、倒三角、L 形角括号、刻度、黑边黄芯方块、块状大字、网格、段落线
下载弹窗 download-modal-bg.png、modal-item-bg.png、bg-qr-code.png 5208×2568、655×484、251×211 头带、标题、条码、底纹、外晕;白卡、三色条、黄方块、虚线、底部斜纹;二维码框与竖排"扫码下载"(8.10)
分享浮层 头部 header-grid.png、header-contour.png、header-mark.svg;二维码角标 qr-corner.svg — 网格、等高线、标记图形;二维码组的角标
公告页 页签三张、bulletin-item-active.png、NEW 角标、关闭钮、header.png、content-header.png 见 8.12 页签外形、选中项的箭头白卡、NEW、圆形关闭钮、头带斜线纹、标题条噪点
"更多"加载层 loading-deco.svg、loading-triangle.svg、loading-logo.svg 141×64、23×21、2553×564 #666666 微标、#FCFC1F 小三角、白色字标
账号卡 bg-account-info-header.png、bg-account-info-footer.png、bg-official-user-asset.png 600×108、800×160、1200×336 不透明浅灰底;两张几乎透明的灰纹理(9.1)

7. 动效#

样式表里的过渡与动画:

项 统计
过渡时长 .15s ×14、.2s ×7、.3s ×6、1s ×6、.16s ×5、.25s ×5、.6s ×4、80ms ×2、.8s ×2、.1s / .5s 各 1;transition: none ×10
过渡缓动 不写(ease)×43、cubic-bezier(.16,1,.3,1) ×4,linear、ease-out 和三条曲线各 3,ease-in-out ×2
动画时长 .16s ×34、.25s ×23、.24s ×6、1s / .2s / .3s 各 5、80ms / .4s / .35s / .32s 各 4、40s / .1s / 1.5s 各 3
动画缓动 linear ×34 + var(--ease-linear) ×24、不写 ×15、ease-in-out ×13、cubic-bezier(.5,0,.5,1) ×10、var(--ease-out-extreme) ×9、var(--ease-out-strong) ×4,其余 1 – 3
动画延迟 .65s ×11、.5s ×10、.75s ×9、.9s / .6s 各 3

全表 7 条自定义曲线:cubic-bezier(.5,0,.5,1) 13 次("更多"侧栏的字色与淡入淡出、活动 banner);(.2,0,.1,1) 9 次("更多"标题、标语、块状大字,写作 var(--ease-out-extreme, …),变量没定义);(.33,0,.67,1) 6 次("更多"加载层的揭幕;手机版"更多"的底字淡入、主图擦出、标题组移入);(.16,1,.3,1) 4 次(排队活动图刷出);(.4,0,.2,1) 3 次(排队面板展开);(.17,.17,.83,.83) 2 次、(.1,0,.1,1) 1 次(手机版"更多"的装饰)。脚本里另有 anime.js 和 lottie(排队胶囊的时钟),不在 CSS 里。

关键帧:页面样式表 62 条,加支付 SDK 6 条、云 webview 1 条、账号 SDK 1 条,共 70 条;公告页是另一个站点的样式表,另有 4 条(下表的公告橙点就在其中),不算在内。主要的几类(名字取脚本里的语义名):

关键帧 内容 用在哪
闪烁进场(officialFlickerInDense) 不透明度 .01 → .5 → 1 → .3 → .5 → 1 → .3 → .5 → 1,每 12.5% 一帧,共 8 段 "更多"的刻度尺、斜纹条、端部装饰、黄条、角块,.25 – .3s linear;手机版同款
频率条滚动 translate(0) → translate(calc(-100% - 8px)) 刻度尺两份首尾相接,40s linear infinite,延迟 .9s
页签指示 / 选中块 / 下划线 translateX(0) ↔ translateX(4rem);translateY(from → to);宽 0 → 148 设计 px 顶栏 .2s ease both;"更多"侧栏 .16s linear both、.24s ease-in-out
弹窗进出 opacity 0 + 右移 2.5rem → 1 + 原位;退场反向 所有弹窗 .16s:下载弹窗与商城 ease,通用弹窗 ease-in-out(它的遮罩进场 both、退场 forwards)
下滑淡入 translateY(-.5rem) → 0 + 淡入 用户中心下拉 .2s ease-out;游戏菜单条 .16s linear
呼吸 / 旋转 不透明度 1 → .4 → 1;0 → 360° 启动加载层的标志 2s ease infinite;5 组转圈都是 1s linear infinite
账号卡进场 top: 100% + translateY(-100%) → top: 50% + translateY(-50%) .2s linear both(9.1)
分享按钮悬停 底条宽 .25rem → 12rem;字色 #787878 → #FFFFFF .3s ease-out
公告橙点 / 加载装饰 opacity 0、scale .7 → 1 → 0、scale 1.1;0 / 90 / 180 / 270° 用 steps(1) 公告页 1s ease-in-out infinite;云 webview 加载条每 .25s 跳一格

prefers-reduced-motion: reduce 下有 9 块、18 条规则:顶栏页签指示、"更多"侧栏各项的进出(字色直接给终态)、加载层与活动 banner 的过渡都去掉;"更多"内容区的整棵子树 animation-duration 改成 .01ms,手机版的整棵子树 animation-duration 和 transition-duration 都改成 .01ms,都只播一次、无延迟;账号卡进场 animation: none。点目录时的滚动也从 smooth 换成 auto(脚本)。

账号 SDK 的交互时长见 11.4、11.7,支付 SDK 的见 9.4。

8. 公开视图的控件#

8.1 顶栏#

部位 值 备注
尺寸 通宽,高 4.25rem(68px);左右内边距 1.25rem(20px) 不吸顶:在滚动容器里随页面滚走
底 rgba(0,0,0,.8) + blur(.3125rem)(5px),z-index 1 无边线、无阴影;降级时 #1A1A1A
标志 6.75 × 2.75rem(108 × 44px),logo.png 324×132 白字"明日方舟 / 终末地 / ARKNIGHTS ENDFIELD"(观察)
竖分隔 .25 × 2.25rem(4 × 36px),距标志 1.5rem 图(第 6 节)
文字页签 每个 2.5 × 2.1875rem(40 × 35px),间距 1.5rem,两页签起点相距 4rem;顶边距 1.375rem;文字顶对齐 "首页""更多"
页签字 CloudGame Medium 1.125rem / 1.2(18 / 21.6px) 非官方版是 1.25rem
页签颜色 未选 #737373 → 悬停、聚焦 #BFBFBF → 按下 #3A3A3A;选中 #EEEEEE(悬停不变,按下 #3A3A3A) 悬停、按下只写在桌面平台下;没有过渡
焦点与语义 outline: .125rem solid currentColor,偏移 .25rem;role=tablist("首页导航"),role=tab + aria-selected
选中指示 线:一个透明地放着选中页签文字的 span,背景是拉伸的指示图,所以宽度等于文字宽(36 × 2px),在页签顶下 1.875rem;三角 6 × 3px,居中对着页签中线、压在线下 背景图写在内联样式里
换页签 线和三角一起 translateX(4rem),.2s ease both;50 / 100 / 150ms 时走到 26.1 / 51.4 / 61.5px 换页签会重渲整条顶栏,所以用的是关键帧
1024 宽 1024 × 36.3;标志 57.6 × 23.5;页签字 9.6px 等比缩小
移动 竖屏高 3rem(46.15px)、内容贴底,顶栏里没有标志和竖分隔;标志挪到顶栏下方左上(mobile-logo.png 426×180,8.875 × 3.75rem);页签 2.25 × 1.9375rem,步距 3.75rem 横屏高 3.5rem、标志 6.875 × 2.125rem(只有规则)

8.2 顶栏右侧的导航项#

部位 值 备注
结构 图标 1.25rem(20px)+ 竖线 .0625 × .875rem(1 × 14px,左右各 .5rem)+ 文字
盒 内边距 .4375rem .75rem(7 / 12px);深色项高随内容(36.4px),亮色项和"分享"2.25rem(36px);圆角 .25rem;间距 .5rem
宽(未登录) 下载 93、公告 107、问题反馈 125、分享 93、用户中心 125px 登录后用户中心多一个 12px 箭头和 8px 间距,变成 145
深色项 底 rgba(255,255,255,.2) → 悬停 .3 → 按下 .15;文字(CloudGame Medium 1rem / 1.4)和图标 #BFBFBF → 悬停白;竖线 rgba(255,255,255,.2) → 悬停 .3 只有内联 SVG 的两个图标会跟着变色
过渡 background-color .15s、color .15s 图标、文字 color .15s,竖线 background-color .15s
"下载"(亮色项) #EEEEEE 底 + nav-download-pattern.png 拉伸铺满;字与图标 #292929,竖线 rgba(0,0,0,.2);左侧 ::before 一根 .25 × 2.25rem(4 × 36px)的 linear-gradient(#FFF100, #FFFFFF) 竖条,在项左缘外、隔 3px 悬停、按下:背景简写先清掉底纹,再盖上 #FFF100 底
"公告"角标 ::before .625rem 方块 #FF7500 转 45°(约 14px 的菱形),drop-shadow(0 0 .125rem #000),压在图标右上角,占 14px 流内宽度 role=img,"有新内容"
"用户中心"箭头 .75rem,#787878;收起时转 180°(朝下),展开时 0°,transform .2s 只在登录后
"分享"展开 底 rgba(255,255,255,.3),字 #EEEEEE aria-haspopup=dialog
键盘 只有"分享"是按钮:focus-visible 时 outline: .125rem solid #EEEEEE,偏移 .125rem;其余项是 li,不能聚焦
去向 下载弹窗、公告面板、新标签打开客服页、分享浮层;用户中心登录后是下拉,未登录调起账号登录框 脚本
1024 宽 / 移动 1024 下项高约 19.2px、文字 8.53px;移动换成 2.75rem(42.3px)的纯图标钮(132×132 的图,下载是黄色圆底),间距 .375rem,悬停上移 .0625rem(.15s) 移动没有文字和竖线

8.3 胶囊按钮#

全站共用的胶囊按钮组件:七种变体 × 五档尺寸(侧栏下载、分享、下载弹窗的按钮各自另写)。首屏那一对不带尺寸档,单独定尺寸。

部位 值 备注
首屏一对 各 188 × 48px,间距 1rem,按钮行 24.5rem 宽 规则写 14.125 × 3rem,在行里被 flex: 1 拉成等宽
圆角 / 内边距 3.75rem(60px)/ .75rem 1rem
内圈线 ::before:内缩 .125rem,1px rgba(0,0,0,.2)(深色变体 rgba(255,255,255,.2)),同样是胶囊
底纹 bg-button-dark.png,auto 100%、靠右、不平铺;深色变体换白色那张 显示约 174.5 × 48
文字 CloudGame Medium 1.125rem / 1.4(18 / 25.2px),#292929,右边距 1.875rem
前导线 flex 1,1px rgba(0,0,0,.3),右边距 1.25rem;两端各一个 .1875rem(3px)同色方块 排布:线 34 → 20 → 字 72 → 30,图标绝对定位压在右侧
图标 1.5rem(24px);下载是托盘加向下箭头,开始游戏是实心圆里镂空手柄
状态 没有过渡、没有阴影,颜色瞬切;禁用 opacity .4、不可点;没有自定义焦点样式(浏览器默认 auto 1px)
变体 默认 悬停 按下 字
主要(黄) #F2E200 #F2E861 #918800 #292929
次要(灰) #EEEEEE #FAFAFA #8F8F8F #292929
深色 #444444 #696969 #292929 #EEEEEE
警示 #F14F53 #F76468 #8F2426 #EEEEEE
浅色描边 透明 + .125rem #DCDCDC 边 rgba(255,255,255,.2) rgba(0,0,0,.3) #EEEEEE
灰色描边 透明 + .125rem #444444 边 rgba(255,255,255,.2) rgba(0,0,0,.4) #292929
弱警示 透明 + .125rem #F14F53 边 rgba(241,79,83,.2) rgba(241,79,83,.3) #F14F53
尺寸档 宽 × 高 内边距 字号 / 行高 图标
s44 11.25 × 2.75rem(180 × 44px) .75rem 1rem 1.125rem / 1.25rem 1.25rem
s40 11.25 × 2.5rem(180 × 40px) .625rem .625rem .625rem 1rem 1rem / 1.25rem 1.25rem
s34 10 × 2.125rem(160 × 34px) .5rem 1rem .875rem / 1.125rem 1.125rem
s28 8.75 × 1.75rem(140 × 28px) .375rem 1rem .8125rem / 1rem 1rem
s24 6.25 × 1.5rem(100 × 24px) .3125rem 1rem .75rem / .875rem .875rem

1024 宽时首屏一对是 100.3 × 25.6px(字 9.6px)。移动竖屏两颗都是 s40,各 153.8 × 38.5px(字 15.4px);横屏规则写 12rem 宽,又被 flex: 1 盖掉,实际 151.4 × 36.9px。

8.4 宣传块#

部位 值 备注
位置 absolute,right 6.25rem(100px),top 50% + translateY(-50%),在顶栏以下的主区里竖直居中 1440 下 396 × 478,左上角 (944, 200)
图 logo-unlogin.png 756×783,cover;1180 – 2560 宽时 27.5vw × 28.4896vw(1440 下 396 × 410),其余宽度 33 × 34.1875rem
图里的东西 "云·终末地"标、[正式上线](黑色粗方括号、深蓝粗体)、平台条(白底,网页版 / 安卓端 / iOS端,浅灰斜杠分隔,右上角黄、青、粉小色块)、标语"云端之上 体验不设限"、大字距细体的"ENDFIELD INDUSTRIES" 观察;没有 DOM 文字
按钮行 24.5rem 宽,间距 1rem,上边距 1.25rem 8.3
主视觉 bg-official-pc.png 2880×1620(2 倍图),cover、居中,没有遮罩和渐变;整页 opacity .5s ease-in-out 淡入 移动竖屏 bg-official-portrait.png 1170×2532(50% 25%),横屏 2532×1170(75% 居中)
1024 宽与移动 1024 下容器 281.6 × 328,图回到 33rem(281.6 × 291.7)。移动竖屏贴底:bottom 3.75rem,左右 1.125rem;图 21 × 21.75rem(323 × 335px);按钮行 min(21rem, 100%),上边距 1rem 移动横屏改成左右排(只有规则)
登录后 换成账号卡 9.1

8.5 浏览器提示条#

部位 值 备注
位置 absolute,top 6rem(96px),水平居中;z-index 2100 挂在滚动容器外面,页面滚动时不动
盒 宽 calc(100% − 4rem),最宽 29.375rem(470px);内边距 .75rem 1rem;rgba(0,0,0,.8) + 5px 模糊;1px rgba(255,255,255,.12);圆角 .25rem;0 .375rem 1.125rem rgba(0,0,0,.28) 1440 下 470 × 70.8;底色和圆角覆盖了基类的 rgba(20,20,20,.9)、.375rem
内容 2.5rem(40px)的彩色 Chrome 标志;两行 CloudGame Regular 1rem / 1.4 #BFBFBF,左右边距 .75rem;1.5rem(24px)的 #737373 叉 关闭钮没有悬停样式
进出 没有动画:随整页淡入出现;点叉后节点立刻移除 关闭状态只存在组件里,刷新后又出现;aside 没有 role、没有 aria-live
出现条件 脚本里一张"浏览器 × 系统 × 最低版本"的兼容表:Chrome / Edge ≥81、Firefox ≥75、Safari ≥12、微信 ≥7、QQ ≥8.2.6、华为 ≥11、iOS 与 Android 的 webview 按系统版本(≥12 / ≥10);夸克一律不兼容,认不出的也算不兼容 两个测试浏览器大概都没被兼容表认出(没直接读到),所以都出现了;正常版本的 Edge 按表不会出现(脚本)
另外两种 不兼容 + 移动:宽 calc(100% − 1.5rem)、最宽 21.875rem、top 6.4375rem,整条是一个链接,2rem 头像图 + CloudGame Regular .75rem #BFBFBF,"点击此处"#1CB7F0。兼容但在应用内浏览器:rgba(20,20,20,.9)、圆角 .375rem、右上一张 5 × 5rem 的提示图,标题 .875rem #EEEEEE、正文 .75rem #BFBFBF,点页面别处就收起 只有规则;收起来自脚本

8.6 适龄角标#

部位 值 备注
位置 / 尺寸 absolute,bottom、left 1.25rem;4.25 × 5.46875rem(68 × 87.5px);age.png 327×420,cover、顶对齐 1024 下 36.3 × 46.7;移动 3 × 3.90625rem,挪到右上(top 4rem、right 1.25rem)
交互 鼠标指针;点击在新标签打开官网的一篇新闻页(noopener、noreferrer) 没有悬停样式;是 div,不能聚焦,没有 role 和文字替代

8.7 页脚#

鹰角网页 SDK(3.0.3)插进来的组件,样式全用固定 px,不随根字号缩放。它在首屏以下(1440 下从 y = 810 开始),要在滚动容器里往下滚才看到;1440 下整页可滚高度 1227px。

部位 值 备注
容器 #252726 底、白字;padding 60px 0;flex 居中;内联 font-size: 12px(移动 16px) 1440 下 1440 × 417
左右两栏 左:鹰角网络标 280 × 78px(copyright.png 664×157),右边距 25px;右:最宽 712px,#8A8A8A,行高 1.5
协议链接 SDK_Sans-Medium 15px 白;项之间 20 – 50px 的弹性空隙,中间一根 1 × 14px 白竖线 悬停出下划线
其余各块 SDK_Sans-Regular 12px,块间上边距 14px:资质表 2 行 × 3 列、列间 36px;反诈提示最宽 380px;一根 1px #585858 横线;公司与版权;举报链接(之间只有 10 – 20px 空隙,没有竖线);适龄提示(图标高 56px,原图 200×256)
窄屏(宽 ≤720 或竖屏) 整列居中、padding 1em;链接行的分隔竖线去掉;表格每格独占一行、.75em;适龄图标 5em 375 下 375 × 605

8.8 更多视图的侧栏#

设计 px 和 1440 下的屏幕 px(× 0.5625):

部位 设计 px 1440 屏幕 备注
侧栏 284 宽,高 = 顶栏以下的可视高 / scale(最小 800);sticky 吸顶 159.75 × 742 白底,0 0 16px rgba(0,0,0,.2),无边
标志 217 × 48,上、左边距 20 122 × 27 #000 底色用 loading-logo.svg 做遮罩,单色黑
目录 竖排,间距 12,宽 269,上边距 80 151.3 宽 role=tablist,"亮点分类"
目录项 269 × 100,无底 151.3 × 56.25 悬停(只在 hover: hover 且 pointer: fine、非当前项)#E6E6E6 底,无过渡;focus-visible 2px #191919 内描边
箭头、名称 箭头 20 × 20 的内联 SVG(向右下的直角箭头),top 16、left 32;名称 CloudGame Bold 32 / 1.2,top 40、left 32 11.25 / 18px 都是 #A7A7A7 → 当前项 #000,color 80ms cubic-bezier(.5,0,.5,1)
序号 01 – 05 CloudGame Medium 80 / 1.2,rgba(0,0,0,.03),right 0、bottom −20(下沿被裁掉) 45px 只有当前项显示:淡入 80ms + 从右 40 滑入 240ms linear
下划线 148 × 6,#FFF100,top 72、left 32 83.25 × 3.4 进场宽 0 → 148,.24s ease-in-out;离场淡出 80ms
微缩字 highlights-sidebar-tab-decoration.svg 104 × 6(#BFBFBF),top 82、left 36 58.5 × 3.4 进场从左 20 滑入 .24s + 淡入 .16s
当前项底块 269 × 100,#E6E6E6,压在按钮下面;::before 8 宽 #191919 竖条贴左 151.3 × 56.25,竖条 4.5 换项时整块 translateY(i × 112),.16s linear;新项先铺一层 #E6E6E6 再淡出(.16s)接住滑块。目录贴侧栏左边,所以竖条就是侧栏的最左缘,右边留 15
下载按钮 252 × 56,bottom 45、left 16,圆角 2;#141414 底、#EEEEEE 字;图标 28;竖线 2 × 36、rgba(255,255,255,.3),left 68;文字 CloudGame Bold 16 141.75 × 31.5 悬停瞬间变 #FFF100 底,字、图标、竖线变 #000;悬停没限定精细指针,触屏上点一下会停在黄色;没有自定义焦点样式

1024 宽时一律 × 0.4:侧栏 113.6 × 732,目录项 107.6 × 40,名称 12.8px,下载按钮 100.8 × 22.4。

8.9 卖点页#

排法与切换:

部位 值 备注
节 五节纵向叠在一条普通长页里:每节 1544 设计 px 高、下外边距 −260(最后一节 0),步距 1284 设计 px(1440 下 722px);第 1 节顶部留 132;背景层向上伸 68、向左伸 284,铺到顶栏和侧栏底下 没有 scroll-snap,不劫持滚轮
点目录 scrollTo({ behavior: 'smooth' }),目标 = 该节顶 + 68;减少动态效果时 auto 浏览器原生平滑滚动:一节(722px)约 0.57 – 0.6s;两节约 110ms 后起步、850ms 到位
滚动跟随 当前项 = 最后一个"顶 ≤ 视口顶 + min(视口高 / 2, 第一节高 / 2)"的节;滚到底算最后一项;程序滚动时暂停,到位或停 150ms 后恢复 脚本
入场触发 只触发一次。频率条、段落线、大字一露出就触发;标题卡、主图露出 20% 才触发;加载层还在时内容带 inert、动画全部暂停 脚本
布局 第 1、3、5 节标题卡在左、主图在右(A);第 2、4 节左右镜像(B),频率条、端部装饰、大字、段落线都换边

一节里的元素(A 布局,设计 px;括号是 1440 屏幕 px):

部位 值 里面有什么(观察)
频率条组 2235 × 143,左边距 284(1257 × 80);B 布局 absolute top 177、left 325 刻度尺在上、斜纹条在下、端部装饰在右
刻度尺 宽 100%、高 14、上边距 32;frequency-line.png(4108×28)放两份(::before,和 left 为 calc(100% + 8px) 的 ::after)首尾相接;右端 160 宽的白色渐隐(B 在左端) 浅刻度约每 30.6 原图 px 一根(实心约 4px,#CFCFCF / #D3D3D3),每第 5 根是 #999999 的深刻度、约 7px 粗、通高;显示 × 0.483,浅刻度约 10 设计 px 高,深刻度 14
斜纹条 宽 100%、高 50,frequency-square.png(3966×100)cover(1116 × 28) 左端一块 #E6E6E6 实心(原图 0 – 157);之后是"/"向 45° 斜纹,深 #FDFD1F 约 84、浅 #FEFE63 约 58 原图 px,水平周期约 141(约 70.7 设计 px、39.8 屏幕 px);alpha 从 x≈2000 起下降,≈3900 到 0
端部装饰 225 × 138,左边距 26(126.6 × 77.6),frequency-decoration.png 450×276 #CCCCCC 微缩字和条码块,右缘一根 #FFFA00 竖条(原图 10 × 139),一个白色小块;B 布局用镜像版,黄条在左
标题卡 734 × 844(412.9 × 474.75),title-bg.png 1:1 上 0 – 75、下 575 以下是"/"向 45° 灰斜纹(#D9D9D9 约 17 / #DDDDDD 约 11,周期约 28.5);中间 #F3F3F3 面板上一层错位点阵:点约 3px、中心 #D8D8D8,横向间距 10,每 5px 一行、相邻两行错开 5;B 布局的图点更深更大
黄条图 600 × 270(337.5 × 151.9),在标题卡里靠右(right 15)、下移 206;texture-triangle.png 900×405 #FDFD1F 横条(原图 y 98 – 184,设计 57、屏幕 32 高),左端灰块加白块;条上方一个黄描边白芯的倒三角(x≈116 – 393、y 0 – 94),尖穿过横条;三角上沿和黄条左段里抠出一行白色微缩字;一对 #1A1A1A 的 L 形角括号把标题和标语框在中间(左上原图 x 220 – 262、y 55 – 112,右下 x 766 – 808、y 106 – 163,臂宽约 19 原图 px,屏幕约 7px);条下方偏右一行灰色微缩字
标题 HarmonyOS Sans SC Black 80 / 1.2,黑;top 20、left 184(B 布局 22 / 137) DOM 文字,屏幕 45px
标语 思源黑体 60 / 1.2,黑;top 130、right 58 右对齐(B 布局 left 90 左对齐) DOM 文字,屏幕 33.75px
主图 1500 × 844(843.75 × 474.75),无边框无阴影;第 1、5 节是图(1280×720、1600×900),第 2 – 4 节是循环静音视频(webm VP9,不支持时 mp4),上面盖一层透明挡板,不能点
角块 ::after 比主图四边各外扩 15,square-decoration.png 只在右上、左下两角:30 × 30 黑方块套 22 × 22 #FDFD1F 黄芯(黑边 4),方块中心落在主图的角上;屏幕约 16.9px,黄芯 12.4px
块状大字 914 × 267(514 × 150),top 1040、right 0(B 布局 left 0) #F2F2F2 块状大写字母,看着像 ENDFIELD,没逐个确认;右下角一块白底,里面抠出一行 #F2F2F2 小字
背景网格 content-bg.png 2560×3830 被拉成 2560 × 4812(纵向 × 1.256),两块纵向相接、互压 237 方格周期 190.5 原图 px,每格两条对角线;线宽 2 – 3px,#BBBBBB – #F6F6F6、alpha 约 .1 – .27;格子在屏上是 190.5 × 239 设计 px,对角线约 51°;部分格缺失,边缘淡掉
段落线 每节 ::after 铺满 2560 × 1544,z-index 3;A 用 texture-line.png(7680×4632),B 用 -2 版 一根 #D1D1D1 竖线(约 3.3 设计 px),A 在 87.3%(约 2234 设计 px)、B 在 12.8%(约 327),两头渐隐。A 的图还有一条整宽横线,在节顶下约 57.7 设计 px;两版在 84.6% 处都有一条 1 设计 px 的极淡阴影线
图片下发 按设备取缩放版:宽 = clamp(2560, ⌈max(屏宽, 屏高) × dpr / 640⌉ × 640, 7680);手机固定 2560 脚本

入场(A 布局;B 布局时长相同、方向镜像):段落线淡入 .25s,第 1 节延迟 1.5s、其余 .65s;刻度尺和斜纹条闪烁进场 .25s、延迟 .65s,端部装饰 .3s、延迟 .75s;标题卡底淡入、黄条闪烁,都是 .25s、延迟 .5s;主图宽 0 → 100% 擦出(A 从右往左,B 从左往右).25s ease-out、延迟 .5s;标题、标语上移 30 并淡入,.4s / .35s,延迟 .6s / .75s,cubic-bezier(.2,0,.1,1);角块闪烁 .25s、延迟 .75s;块状大字淡入 .1s 加从右 100 滑入 1.5s,延迟 .65s,同一条曲线;刻度尺延迟 .9s 后开始 40s 一圈的滚动。闪烁和淡入都是 linear。

手机竖屏是另一套组件:没有侧栏和目录,五节排成五张卡(每张 20.9513rem、322px 高),主体 24.375rem 宽(= 390 设计 px),再按 --portrait-scale 缩放(375 宽时 1)。卡顶一张 #F0F0F0 的大字图,淡入 .35s 同时左移 2.93375rem(.7s,cubic-bezier(.1,0,.1,1));主图 21.2381 × 11.9394rem,从左往右擦出 .4s、延迟 .25s,角块在左上和右下(桌面是右上和左下);标题横幅通宽 × 3.02438rem(#F0E000 黄横幅加浅灰段的图),标题 HarmonyOS Black 1.375rem #1A1A1A 和标语思源黑体 1.375rem 在同一行。每个部件露出 10% 时各自触发(脚本)。手机横屏用第三套(2276 宽的画布加 rem 侧栏),没有实测。

8.10 下载弹窗#

部位 值 备注
遮罩 rgba(0,0,0,.5) + 5px 模糊,z-index 1000;内边距 x = clamp(1.5rem, 4vw, 3rem)、y = clamp(2.25rem, 5vh, 3rem),不小于安全区 1440 下 48 / 40.5px
缩放 面板按 108.5 × 53.5rem(1736 × 856 设计 px)排版;桌面脚本写 scale = min(1736 × 视口宽 / 2560 ÷ 面板宽, 可用宽 ÷ 面板宽, 可用高 ÷ 面板高) 1440 下 0.5625 → 976.5 × 481.5,左上角 (231.75, 164.25);1024 下 0.75(根字号 8.53)→ 694.4 × 342.4。初值是 0,下一帧才更新
面板 背景整张 download-modal-bg.png 5208×2568(3 倍图),100% 100%;没有 CSS 的圆角、阴影、边框、标题栏
关闭 icon-modal-close.svg(实心叉,#808080),2.0625rem(33 设计 px,屏幕 18.6px),top 3.75rem、right 3.5rem 没有悬停、按下样式
卡片 两张并排,40.9375 × 30.25rem(655 × 484 → 368.4 × 272.3),内边距 3.5 / 4.25rem,间距 2.8125rem;列表上边距 13.1875rem 背景 modal-item-bg.png,1 倍图
卡标题 / 副标题 HarmonyOS Bold 1.875rem / 1.2(屏幕约 16.9px)/ 思源黑体 1.125rem,都是 #000,副标题上边距 1rem "游戏客户端下载""云·终末地下载"
二维码块 15.6875 × 13.1875rem,bg-qr-code.png;码图 12.3rem,贴右上 .4rem;右边距 3rem
平台按钮 宽 100%、高 3.125rem(220 × 50 设计 px → 123.75 × 28.1);#333333、圆角 .25rem、无边框无阴影;思源黑体 1.1875rem 白;白色图标 没有任何状态样式;左卡 Windows / iOS / 安卓,右卡 macOS / iOS / 安卓;移动 UA 只留本系统的一颗
底部 公司名和三条协议链接:思源黑体 .875rem #A7A7A7,链接之间用竖线字符隔开 链接各状态都不变色
进出 遮罩淡入 .16s ease;面板 opacity + 从右 2.5rem 移入,.16s ease;退场反向,160ms 后卸载 点叉或点遮罩空白处关闭;没有 Esc

图里的东西(设计 px;观察):

  • 面板:可见部分 x 18 – 1718、y 18 – 838(1700 × 820),外面 5 – 17px 一圈很淡的白色外晕(alpha 7 – 18 / 255),不是黑阴影。头带 y 18 – 158(屏幕 78.75px),#000000 – #202020 拼的矩形块纹样,下面 9px 的 #CCCCCC 灰条;标题是图,白色字形约 52 高,带 #F3F329 点缀,左边一组灰色条码竖纹。主体 #F0F0F0 叠一层约 1.5px 的淡网格(竖线间距 50 / 68 交替,横线约每 168),底部 90px 是 #E5E5E5。
  • 卡片:白卡 619 × 449,四周约 17px 黑色外阴影(alpha 最高约 31 / 255);左上三色条(3.4);标题第一个字左上角下垫一个 20 × 20 的 #FDFD1F 方块;标题与副标题之间一条 2px 虚线(划 4 空 2,#D7D7D7);副标题下一行灰色英文小字;卡底 30px 的"/"向 45° 斜纹(横竖周期 8px:3px #D9D9D9 + 1px #F1F1F1 + 3px 近白 + 1px #F1F1F1)。
  • 二维码框:左侧 42px 的 #333333 竖条,里面是图片的白色正立竖排"扫码下载",底部一个白色直角楔形;码槽 #CDCDCD 底、1 – 2px 深色边;四个外角各一个 11 × 11 的小方块(8 × 8 白芯 + 1px 深色边)。

移动端是另一个组件:缩放由脚本写成内联值(375 宽时 .3472 = 375 / 1080;CSS 默认 min(1, 100vw / 67.5rem));面板 58.75 × 72.4375rem,两张卡换成两个图片页签;二维码 19.8rem;平台按钮高 5rem、#333333、圆角 .25rem、字 1.75rem;Android UA 下只有"安卓下载"。手机竖屏且在游戏中时仍用桌面组件,缩放上限 .72。

8.11 分享浮层与确认框#

部位 值 备注
位置 fixed,top 4.5rem、right 1.25rem(1440 下左上角 (996, 72));挂在 body 下,z-index 951 role=dialog,"分享链接"
盒 26.5rem(424px)宽,1440 下 252 高;rgba(0,0,0,.8) + 5px 模糊;圆角 .5rem;0 .25rem 1rem rgba(0,0,0,.2) 没有箭头,没有进出场动画;再点"分享"、按 Esc、在外面按下指针都会关(脚本)
头部 高 3.75rem(60px),左右内边距 1.5rem;标题"分享链接"CloudGame Bold 1.125rem #EEEEEE;装饰都在标题下层、不接收指针
头部装饰 三色竖条(3.4);header-grid.png 网格贴底、用遮罩裁形;header-contour.png 17.6875rem 见方、转 −15°、不透明度 .15;右侧 header-mark.svg 4.5 × 5.125rem;左上一个 1.25 × .25rem 的小标记
内容区 #F2F2F2,内边距 1.5rem,inset 0 0 0 .0625rem rgba(255,255,255,.2);底下一张纹理图(21.875rem、转 −12°、压成黑色、不透明度 .5)
竖签 2 × 9rem(32 × 144px),#101010 底、白字;CloudGame Regular .75rem,字距 .09375rem,writing-mode: vertical-rl、text-orientation: upright "手机扫码畅玩·分享"
二维码 9rem(144px),白底;左下一个 .8125 × 1.1875rem 的角标
按钮 11.25 × 2.5rem(180 × 40px),白底、圆角 .125rem、内边距 .5rem;CloudGame Medium 1rem #787878;图标 1.5rem、右边距 .625rem;竖排间距 .75rem,整列左边距 1.25rem "复制链接""收藏页面""添加到桌面"
按钮悬停 藏在左外侧的一根 #444444 竖条(.25 × 3rem)宽度长到 12rem 铺满按钮,字从 #787878 变白,都是 .3s ease-out focus-visible 2px #787878 内描边;禁用时内容 opacity .4
其他变体 游戏内:内边距 .75rem、无阴影,头 1.375rem,内容区透明,按钮白 10% 底、白 60% 字,悬停白 20% 加 1px 白 10% 内线,没有铺满动画。手机:通宽,竖屏是底部抽屉(上圆角 .5rem),头 3.5rem,按钮 10.75 × 2.25rem,多一个关闭钮 只有规则

"收藏页面"打开的是通用确认框(同一个弹窗组件,账号、商城、游戏内的提示也用它):

部位 值 备注
层 从分享打开时 z-index 1220,其余场合 1300;遮罩 rgba(0,0,0,.6) + 5px 模糊 分享浮层同时关闭
盒 默认 21.25rem(340px)宽;info 型 22.5rem(360px);调用方可以写死 width: 528px(px,不随根字号缩放);最高 calc(100svh − 2rem)、最宽 calc(100svw − 2rem) 1440 下 340 × 196.8,居中
头 2.75rem(44px),info 型 3rem;#444444 + bg-dialog-title.png(510×66,深灰纹理)拉伸;上圆角 .25rem;标题 CloudGame Medium 1.125rem #EEEEEE 只有 info 型有关闭钮:1.625rem,#EEEEEE → 悬停白 → 按下 #BFBFBF
正文区 #E6E6E6,下圆角 .25rem,内边距 1.25rem;正文 CloudGame Medium 1rem / 1.4 #787878 居中(可左对齐);滚动区最高 min(18.75rem, 100svh − 13.75rem),带 4px 的自绘滚动条 收藏页面这一条正文是 CloudGame Regular
键帽 外框 2px rgba(255,255,255,.5)、圆角 4px,里层 #444444 底、2px #575757 边、圆角 2px,白字 CloudGame Bold 12px("Ctrl""D") 只在收藏页面这一条里
按钮 一行,各 flex 1、s40、间距 .5rem;没指定类型时最后一颗深色、其余灰色描边;只有一颗时自带右箭头 这里只有一颗"知道了"
进出 进 .16s ease-in-out,从右 2.5rem 移入淡入;退场向右淡出,160ms 后卸载;之后 350ms 内铺一层透明挡板吞掉点击 点遮罩不关,没有 Esc

8.12 公告面板#

点"公告"打开一个全屏内嵌页 ef-webview.hypergryph.com/page/cloud_bulletin。它跨源,父页面读不到里面;下表是把这个地址(去掉带令牌的查询参数)单独打开来量的。它有自己的样式表和根字号:160 × (宽 / 高 > 16/9 ? 高 / 1080 : 宽 / 1920) px,1440×810 下 120px、1024×768 下 85.333px(面板随之缩到 925.9 × 480)。

外壳(父页面):fixed 铺满,z-index 1050,rgba(0,0,0,.5) + blur(5px)(内联,固定 px);内嵌页 opacity 0 → 1,.1s ease-in-out。实测时间线(50ms 采样,受后台节流影响):容器和底部加载条一起出现 → 约 1.0s 加载条用 .5s 滑出 → 约 1.53s 内嵌页淡入 → 页内根节点再淡入 .3s。手机上打开时 body 转成横屏,按 812 × 375 排。CDKEY 兑换用同一个外壳。

公告页本身(1440×810,1rem = 120px):

部位 rem 1440 下 备注
面板 10.85 × 5.625rem,圆角 .0625rem;头带以下的主体是 linear-gradient(#838589 0, rgba(50,50,50,.9) 30%, rgba(50,50,50,.9)) 1302 × 675,左上 (69, 51),圆角 7.5px 没有阴影;中文字体 HarmonyOS_Sans_SC
头带 高 .84375rem,header.png 1740×135 1302 × 100.9 观察:#EDEDED 底,上沿一条斜线纹(#B2B2B2 – #C6C6C6,周期约 6.5 原图 px),右下灰色小字
页签 1.925 × .525rem,间距 .3375rem 231 × 63,间距 40.5 字 .2rem 700 #9F9F9F → 选中白;"云·终末地公告"被脚本缩到 .15179rem(18.2px);图标 .375rem 的遮罩,同色
页签外形 没有 clip-path、没有圆角规则,全是图 观察:未选 #414141 填充、上左右 2 原图 px 的 #787878 边、上角约 7 原图 px 圆、下摆向两侧张开;悬停换成 #626262 / #909090 那张;选中 bulletin-type-active.png(390×100):#838589 实色,下摆张开和面板主体连成一片,顶上一层约 16 原图 px 的淡黑影
橙点 .325rem,贴页签右上 −.125rem 39px ::before 的图(观察):#FF7600 圆点(屏幕约 14.9px)带黑色柔影;::after:橙色菱形描边,1s ease-in-out 无限放大淡出
关闭 .30625rem 圆,::before 是 .45625rem 的图 36.75px 观察:实心 #444444 圆、叉是镂空的;悬停 filter: contrast(.3)
列表项 高 .53125rem,间距 .25625rem;#2C2C2D 底、1px #898989 边、圆角 .0625rem、0 .05625rem .05625rem rgba(0,0,0,.4)、不透明度 .9;标题 .175rem 700 白、行高 1.15、居中 248.5 × 63.75,步距 94.5;标题 21px 左列 3.00625rem 宽、底部 10% 渐隐;悬停 #4C4C4C;手柄焦点时一圈 2px 白框
选中项 bulletin-item-active.png 440×103(2.75 × .64375rem);字全变 #313131 330 × 77.25 观察:白卡,顶部从 #DADDE6 渐到 #FDFDFE;右端是贯穿整高的 45° 箭头尖(屏幕约 30.75px);下方一层黑影
日期 块宽 .725rem;日 .2rem、月 .1125rem,#989898,行高 1;斜线 .5875 × .0125rem 转 −45°;右边竖分隔 .01875 × .25625rem 日 24px、月 13.5px;斜线 70.5 × 1.5 斜线是 CSS 画的,不是字符
NEW 角标 .48125 × .23125rem,伸出右上角 57.75 × 27.75 观察:77×37 的内联图,#FFF100 底、左端尖角的五边形、黑字两行、下方投影;当前项没有
正文框 linear-gradient(rgba(211,213,223,.79), rgba(204,204,204,.79) 30%);阴影同列表项;滚动条 .025rem、rgba(0,0,0,.2)、方头 927.75 × 505
标题条 高 .4375rem;#313131 + content-header.png(1736×135);字 .25rem 700 白;整条不透明度 .8 856 × 52.5,字 30px 观察:图约 .9 不透明,左一大半纯黑,往右是越来越亮的噪点
正文 .1875rem,行高 1.3;颜色来自公告内容的内联样式 #1F2329 22.5px 小标题"▼//…"、列表符号都是正文字符
链接 #2E2E2E 底、1px #828282、圆角 .025rem;白 80% 字,后缀 >>;悬停 #3E3E3E、按下 #101010 手柄焦点:#FEFA10 黄箭头左右晃,加一个带 #FECE10 外发光的四角框

8.13 加载层#

启动加载层(首次进入时盖住整页):

部位 值 备注
层 fixed 铺满,z-index 1000;#171717 + bg-main-pc.png(2880×1620)cover;opacity .3s ease-in-out,隐藏 300ms 后卸载 没有进度,没有文字
标志 loading-logo.png 900×798(灰色徽标),37.5 × 33.25rem(600 × 532px),正中;呼吸:不透明度 1 → .4 → 1,2s ease 无限 手机竖屏 min(78vw, 22.5rem) × min(70vw, 20rem),横屏 min(42vw, 22.5rem) × min(38vw, 20rem)
时长 从首次渲染(约 0.36s)一直显示到"应用就绪",中间等登录状态:实测 1.1s、18.8s、57.2s 遮罩期间点顶栏仍然生效

启动看门狗(页面入口里的内联脚本):任一等待阶段 30s 没完成(每进入一个新阶段重新计时),或脚本主动报错,就在底部弹一条提示:div[role=alert],fixed、离底 24px、水平居中,z-index 2147483647,#222222 底、白字、1px #888888 边、内边距 16px、最宽 90vw,14px sans-serif;文字"页面启动未完成,请检查网络后重新加载。"加一颗原生的"重新加载"按钮。

"更多"加载层(每次从首页切到"更多"都重放;设计 px,括号是 1440 屏幕 px):

部位 值 备注
层与底图 absolute 铺满画布,#141414,opacity 过渡 1s;::before 是 bg-loading.jpg(2560×1440)cover、blur(8px)、四边外扩 12 role=progressbar,"亮点内容加载进度"
进度条 贴左,宽 190 的进度区(bottom 28,opacity .15s);轨道 12 宽、通高;条高 = 进度,#FFF100,0 0 10px rgba(255,241,0,.45),从上往下长 屏幕 6.75px 宽
读数 跟着条的末端走(最低 110、最高通高 − 10),left 18;数字 64.8 / 1、500、系统字体栈、黄色 约 36.5px;基础规则写的 HarmonyOS Medium 被覆盖
标签 "Updating...":rgba(255,255,255,.55)、sans-serif 16、上边距 8;上面单独一行一个 20 × 8 的小标记(4 × 8 的块,左右各 8px #666666 边) 屏幕 9px
标志与标语组 标志 loading-logo.svg(白色字标)600 × 133,top 520、left 65%。标语组 top 900、left 1650:微标 141 × 60(#666666)→ 分隔线 1120 × 2(左伸 346,上 20 下 16)→ 思源黑体 24 白"OVER THE FRONTIER / INTO THE FRONT";左侧 54 处一个 23 × 21 的 #FCFC1F 三角标 标志 337.5 × 74.8;标语屏幕 13.5px
揭幕 一层 #FFF100 贴左、通高,宽 0 → 100%,width 1s cubic-bezier(.33,0,.67,1)
阶段 加载 → 铺满(揭幕 1s,进度区淡出)→ 淡出(整层 1s)→ 卸载 脚本;减少动态效果时去掉过渡
时间线 两次实测:100% 在 1.14 / 1.40s,铺满在 1.46 / 1.63s,淡出在 2.42 / 2.67s,卸载在 3.43 / 3.65s;铺满 → 淡出、淡出 → 卸载都约 1.0s 进度先快后慢(0 → 2.7 → 25 → 50 → 70 → 81 → 92 → 98 → 99.9);到 100% 的时间随帧率浮动

这和官网首页的加载页(官网实测数据 8.13)是同一个设计:左缘黄条、跟着走的读数、"Updating..."、偏右的标志和标语、最后黄色铺满再淡出。不同的是标志、单位(这里是设计 px)、铺满的缓动和时长(官网 .6s cubic-bezier(1,0,.7,1),这里 1s)。

云 webview 加载条(公告、CDKEY 兑换打开时):贴底,通宽 × 20% 高(1440×810 下 162px),z-index 1000,rgba(0,0,0,.7),叠在外壳的黑 50% 和模糊上;进出 translateY(105%) ↔ 0,.5s ease-in-out。中间一张 480×186 的内联图(白色 ENDFIELD 字标,下面一条带刻度的细线),高 60%、居中(约 250.8 × 97.2);它下面压一个白色倒三角(正方形的下半,SVG),高 70%、不透明度 .3,1s steps(1) 无限,每 .25s 跳转 90°。

9. 登录后的视图#

登录态只在维护者自己的会话里拿到过一次,之后的重载回到了未登录态(没有做任何登录或退出操作)。账号数据(UID、头像是哪张、各项时长和余额、记录条目)一律不记,写作"(数值)";商城价格也不记。9.4 的收银台和 9.5 的排队与游戏内都没有渲染出来,只有规则、脚本和探针。

9.1 账号卡#

登录后首页右侧的宣传块换成一张账号卡:活动 banner → 通行证卡(头部 + 畅玩卡块)→ 时长块 → 一颗宽"开始游戏"。

部位 值 备注
容器 沿用宣传块的定位:right 6.25rem、竖直居中;本身无底无边 400 × 450,左上角 (940, 214)
进场 先 visibility: hidden;首页就绪后 top: 100% + translateY(-100%) → 居中,.2s linear 从主区底边滑上来;减少动态效果时没有
活动 banner 图框 25 × 6.3125rem(400 × 101px),圆角 .375rem;外框高 0 → 6.8125rem(含 8px 间距),height .2s linear + opacity .2s cubic-bezier(.5,0,.5,1) 运营图 960×243,cover;多张时新图叠上来交叉淡入 .75s;图坏了换成黑底画布
头部 高 4.5rem(72px),内边距 .625rem 1rem,内容贴底;bg-account-info-header.png;边 .09375rem rgba(255,255,255,.2)(无下边,DPR 1 下画成 1px);上圆角 .375rem;5px 模糊。头像 3.25rem(52px),站内两张默认图(208×208)按性别字段二选一;"通行证UID:"CloudGame Medium 1.125rem #292929,值 #787878 观察:原图 PNG 是一整片不透明的 #D7D9DB,没有纹样(页面取的是 webp 转码版,读像素会有压缩噪点)。头像不是用户上传的;值不记
畅玩卡块 最小高 5rem(实际 81px),内边距 .75rem;rgba(0,0,0,.8) + bg-account-info-footer.png;边同头部(无上边);下圆角 .35rem(5.6px,和头部的 6px 不一样);5px 模糊 观察:纹理图 alpha 最高约 20%
卡状态 卡图标 3.5rem(56px);第一行 CloudGame Medium 1.125rem #EEEEEE:"正在使用畅玩卡""正在使用体验卡""未开通畅玩卡";第二行"剩余(数值)"#BFBFBF,数值 #FFF100
时长块 25 × 7rem(400 × 112px),内边距 .75rem;rgba(0,0,0,.8) + bg-official-user-asset.png;边 .09375rem rgba(255,255,255,.2)(DPR 1 下画成 1px)、圆角 .25rem;5px 模糊。两行之间一根 1px 白 15% 的分隔线,两端各一个 2px 同色方块(前导线的画法) 两行:"付费时长""免费时长"#BFBFBF,值 #FFF100 + "分钟"
提示图标与气泡 图标:1.5rem 盒,20px 的白 10% 圆(悬停 20%)加 #BFBFBF 的"i";行尾的"更多"按钮同理,是三个点,打开时长说明(9.3)。气泡:11.25rem 内容宽,内边距 .625 .75rem,圆角 .5rem,rgba(18,18,18,.95),CloudGame Regular .875rem / 1.4 #EEEEEE,在图标上方 10px,下面一个 12 × 6 的小三角 鼠标进入约 50ms 后淡入(opacity .2s);离开约 300ms 后直接消失(visibility 同时切,没有淡出),再过 1300ms 卸载;在外面按下指针立刻关;触屏点按切换;末行 #FFF100
"续期""充值" 胶囊按钮 s34,在卡片里改成 6.625 × 2.125rem(106 × 34px)、字 1rem / 1.4;左边距 .625rem;只有前导线和字,没有图标 "续期"是次要(灰),没有卡时写"开通";"充值"是深色(#444444,换白色底纹,前导线白 30%);两颗都打开商城(9.4)
宽"开始游戏" 主要变体,25 × 3rem(400 × 48px),上边距 1.25rem,前导线拉到 246px 点击节流 500ms;没有点
移动 头部 2.75rem、头像 2rem、字 .75rem;畅玩卡块最小 3.75rem 只有规则

9.2 用户中心下拉#

部位 值 备注
位置 挂在 body 下,右对齐到触发项:top = 触发项底边,left = 触发项右边 − 菜单宽,再加 1.25rem 上边距 1440 下 200 × 204,左上角 (1220, 72),离视口右边 20px;随 resize、scroll 重算
盒 最小宽 12.5rem、内边距 .25rem;rgba(18,18,18,.9) + 5px 模糊;圆角 .5rem;0 .25rem 1rem rgba(0,0,0,.4);z-index 1000 没有小三角、没有分隔线
进出 进场 .2s ease-out,从上 .5rem 滑下 + 淡入;没有退场动画,直接卸载 再点触发项、在外面按下鼠标、点任一可用项都会关
条目 192 × 36,内边距 .5rem .75rem,间距 .25rem;#737373 悬停:rgba(255,255,255,.05) 底、#BFBFBF、圆角 .25rem(只有悬停时才有圆角);按下白 20%;底色过渡 .2s,字色瞬切;禁用 opacity .5
图标与文字 图标 1.25rem、跟字同色:方形挂锁、叠着的票据加 ¥、两侧缺口的票券加一对反向箭头、六边形齿轮、门框加向左箭头;文字 CloudGame Regular 1rem、600(合成加粗)、行高 1.125;右端 12 × 12 的 V 形箭头,#3A3A3A 写死、不跟悬停变 账号与安全 / 消费记录查询 / CDKEY兑换 / 功能设置 / 退出登录;箭头在这块深底上几乎看不见
手机 换成一块面板:min(94vw, 27rem) × min(40rem, 100svh − 2rem),黑 80% + 模糊,圆角 .5rem;标题"//用户中心"CloudGame Bold .9375rem,下面一条装饰线(两端 .5rem 白 40%,中间白 10%);条目 3.25rem 高、白 10% + 底纹图、圆角 .125rem 只有规则

9.3 账号与安全、消费记录、兑换、功能设置#

账号与安全打开鹰角通行证的用户中心(新窗口,被拦截时整页跳过去),不属于本页,没有打开;退出登录弹通用确认框"确认登出账号?"(取消 / 确认登出),没有点;CDKEY 兑换打开 ef-webview.hypergryph.com/page/cloud-giftcode,用公告那套外壳和加载条(8.12、8.13),兑换页本身没量到。

消费记录、功能设置用同一个带标题的通用弹窗(9.5 的节点选择也是它):fixed、z-index 1000;遮罩 rgba(0,0,0,.6) + 5px 模糊(不模糊时 rgba(0,0,0,.62));主体 33.25rem(532px)宽、rgba(0,0,0,.8)、圆角 .25rem;头 3.25rem(52px),CloudGame Medium 1.125rem #EEEEEE 居中,下边 1px 白 10%;关闭 1.5rem,#EEEEEE → 悬停白 → 按下 #BFBFBF;内容内边距 1.25rem。进出同 8.11 的确认框。

"时长记录"弹窗(消费记录查询):

部位 值 备注
尺寸 宽由内容撑出 46.9375rem(751px);最小高 min(35.875rem, 视口高 − 5rem) 1440 下 751 × 574,居中
头部 去掉下边线;底图 bg-time-usage-records-tabs.png(3 倍图),最下面约 2px 是三色条(3.4)
页签 组宽 min(100%, 37.5rem) 居中;每个 flex 1(200px),内边距 .625 .75rem,CloudGame Bold 1.125rem,#737373;未选悬停白 10%、上圆角 .25rem;当前页签 #F2F2F2 底、#292929 字,下移 1px,盖住它下面那段色条、和内容区接成一片 "免费时长记录""付费时长记录""畅玩卡记录";默认第一个;切换瞬时
内容区 bg-time-usage-records-content.png(1504×1044),下圆角 .25rem 观察:不透明浅灰,#F2F2F2 → #E8E8E8
列表 内边距 1.25rem 1rem 1.25rem 1.25rem,行间 .5rem;每页 30 条,离底 100px 时加载下一页 首次加载时什么都不放,没有骨架或转圈
记录行 4.25rem(68px),内边距 .75rem 1rem,圆角 .25rem,#F2F2F2,0 0 .75rem rgba(0,0,0,.2);右侧一张按类型换的水印图(alpha 约 4%)
行内文字 来源 CloudGame Medium 1rem #292929;类型图标 1.5rem;类型名 .875rem #5E5E5E;时间 CloudGame Regular .875rem #A7A7A7,格式"获得时间: YYYY-MM-DD HH:mm (UTC+08:00)";数额 CloudGame Medium 1.125rem,增加 #7DCB1A 带"+",扣减 #F95A5E 带"-" 内容不记
列表底与空态 CloudGame Regular .875rem #A7A7A7:"加载中...""已经到底了";空态一个 32px 的"禁止"符号(#A7A7A7)加"暂无记录"(#737373)
自绘滚动条 轨道 .25rem(浅底版黑 20%、深底版白 20%);滑块白、圆角 .125rem、0 0 .125rem rgba(0,0,0,.5),最短 24px;放得下时隐藏 原生滚动条隐藏

"功能设置"弹窗:

部位 值 备注
设置行 主体 532 × 148,只有一行:最宽 30.75rem,内边距 .75 1rem,圆角 .25rem,1px 白 5% 边;白 5% 底 + bg-setting-item.png(白色纹样,左浓右淡)靠左
标题 CloudGame Regular 1rem #EEEEEE,行高 1.75rem:"使用推荐的服务器节点",后接一枚深底用的提示图标(theme dark,同 9.1) 关掉后开始游戏会先测速、弹节点选择(9.5)
开关 分段式"开 / 关":8.25 × 1.75rem(加 1px 边是 134 × 30),圆角 .875rem;白 20% 底、1px 白 3% 边、0 0 .125rem rgba(0,0,0,.08);过渡 .3s 悬停底变白 40%;按下 opacity .8;禁用 .5
滑块与字 滑块宽 50%、同圆角;开:#EEEEEE、1px 白 50%,在左;关:#BFBFBF、1px 白 20%,移到右。字 CloudGame Medium .875rem / 1.1;开态"开"#292929、"关"白 60%;关态"开"#AAAAAA、"关"#333333
尺寸档与存储 s24:6 × 1.5rem、圆角 .75rem;s20:6.25 × 1.25rem、圆角 .625rem;字都是 .6875rem。设置写在浏览器本地存储的 settings:browser 命名空间 小档在手机抽屉和游戏菜单里用

账号卡"更多"打开的"免费时长 & 协议点时长说明"是 info 型确认框,调用方写死 width: 528px:头 3rem;正文 CloudGame Medium 1rem / 1.4 #787878 左对齐;没有按钮,只能点叉关。

9.4 续期与充值#

"续期"(或"开通")和"充值"打开的是同一个"云·采购中心",默认停在第一个页签。

部位 值 备注
遮罩 fixed,z-index 1100;rgba(0,0,0,.5),桌面版不模糊(手机版 5px);内边距 1.25rem 3rem 进出:遮罩淡入 .16s ease,面板从右 2.5rem 移入,160ms 卸载
关闭 只有右上角的叉:1.75rem(28px),实心 #EEEEEE 圆里镂空一个叉,自带黑 40% 的投影 点遮罩、按 Esc 都不关;叉没有悬停样式
面板 57.5 × 28rem(920 × 448px),圆角 .5rem,尺寸固定、不随视口缩;linear-gradient(#212121 3.75rem, #D9D9D9 3.75rem) 上深下浅硬切 内联字号 视口宽 / 1194 × 16px,只影响继承文字
头部 3.75rem(60px),内边距 .75rem 1rem;标题"//云·采购中心"CloudGame Bold 1.125rem #EEEEEE
钱包胶囊 两枚,间距 .5rem;白 10% 底、圆角 1rem、内边距 .125 .5rem;内部:图标 1.5rem(右边距 1.5rem)→ CloudGame Regular .875rem #EEEEEE → 1 × 18px 的白 16% 竖线 → 1rem 的"更多"图标 余额不记;"更多"两张图叠放,悬停瞬间换成白 20% 底那张
侧栏与页签 侧栏 7.25rem(116px)宽、通高,圆角 .25rem,bg-store-sidebar.png(3 倍图),0 0 .25rem rgba(0,0,0,.25)。页签 116 × 48,CloudGame Bold 1rem、行高 1.75rem、内边距 .625 1rem,#5E5E5E,之间 1px 黑 10% 分隔;未选悬停 #CFCFCF、圆角 .25rem "活动商品""常规商品"
当前页签 #EEEEEE 字 + bg-store-sidebar-active-tab.png;左侧 ::before .375 × 3rem 的竖条,linear-gradient(#F9EF18, #FFFDF5),贴着面板左缘 切换瞬时
横幅 calc(100% − .75rem) × 8.9375rem(768 × 143px),白底、圆角 .34375rem,但没有 overflow: hidden,图的四角是直角;图 cover、靠左(1668×312),载入后 300ms linear 淡入 右上角可选一个"活动说明"小胶囊:.75rem #BFBFBF、黑 50% 底、圆角 .75rem
商品列表 横向滚动、滚动条隐藏;卡间 .5rem 间距 + .75rem 右外边距(步距 180px);拖动 3px 以上才算拖,滚轮的竖向滚动转成横向;拖完紧接的点击被吞掉 光标 grab / grabbing
商品卡 10 × 13.0625rem(160 × 209px);主体 11.125rem 高、圆角 .25rem、0 0 .75rem rgba(0,0,0,.25);商品图 10rem 见方、#F2F2F2 底加占位图 图全部预载完后一起淡入,300ms linear,第 n 张延迟 n × .08s;每个页签只在第一次看到时播
卡下部 图下一条 2px #D8D8D8;底条 1rem 白底,左边一张 33 × 4 的装饰图、下面一根 .5px #DADADA 细线;价格牌白底、圆角 .125rem,压在底条右侧,价格 CloudGame Bold 1rem #5E5E5E,日均价 CloudGame Bold .5rem #A7A7A7;再隔 8px 是名称条:1.4375rem(23px)高,#292929 底、CloudGame Medium 1rem #EEEEEE,直角 价格不记
标签与说明图标 赠送:#FFF200、圆角 .125rem、向左探出 .25rem,CloudGame Medium .8125rem #3A3A3A + 小图标;限时:#FC5410 + 白色时钟 .75rem + .6875rem 白字;两种不会同时出现。说明图标 .875rem,黑 10% 圆 + 三个 #5E5E5E 点,离右上 .25rem 说明框 528px 宽;"不可购说明"没传宽,是 360px
状态遮罩 售罄或暂不可购:rgba(0,0,0,.8) 盖住主体、压住标签;有标签时左上角改直角,再用一块 4 × 16 的 ::before 把探出去的标签也压暗(标签 18.3px 高,下面约 2px 没盖住);1.25rem 的 #D7D6D5 图标(盒子 / 锁)+ "- 售罄 -""- 暂不可购 -",.8125rem 白
点击 点可买的卡直接下单,然后调起支付 SDK;没有悬停、按下、选中样式;售罄和不可购的卡点了什么都不发生 脚本
空态 两端各一张 70 × 4 的装饰图、两个 16px 图标,中间 CloudGame Medium .8125rem #A7A7A7"采购中心未解锁,请前往游戏内解锁" 列表子项的右外边距也作用在它身上,整组偏左 6px
刷新与手机版 打开时拉一次,之后每 60s 静默再拉;手机版面板 43.75 × 22.375rem,上深下浅在 3rem 处切开,各部件用非官方的基础尺寸 脚本 / 只有规则

收银台是支付 SDK 的 cloud_endfield 皮肤。它没有真的出现(要点商品卡下单),下面来自支付 SDK 注入的样式表(规则)和隐藏的探针元素(计算·探针):

部位 值 备注
挂载与尺度 body 末尾插一个根节点;data-layout 只看 UA(手机 UA 为 mobile,其余 pc),和视口宽无关;--pay-sdk-size 默认 16px,pc 时 21.6px,宽 ≤3840 为 19.2px、≤2560 为 16px、≤1920 为 12.8px 1440 下 12.8px;下面写作"× size";遮罩 z-index 9999
皮肤令牌 头部底 #262626、标题白、关闭 #CCCCCA → 悬停白、头部底边 #FFD800、主文字与强调 #E9BA15、单选 #FFD800 底 #262626 勾 默认皮肤是白头部、#EBEBEB 底边、#0098DC 强调
皮肤图片 头部 ef-header-bg.png 2397×400;对话框左上 ef-bg-top-left.svg 458×84、右下 ef-bg-bottom-right.png 667×238 和账号 SDK 的 ef 皮肤同一套(11.5)
遮罩与对话框 遮罩 rgba(0,0,0,.5);对话框白底,圆角 1.25 × size(16px),pc 基础宽 37.5 × size(480px)、宽版 50 × size(640px) 换面时用视图过渡:旧面淡出 .12s → 新面淡入 .12s(延迟 .12s)
头部 pc 5.625 × size(72px),#262626 + 头部图;标题 1.5 × size(19.2px)500 白;关闭 2 × size(25.6px),颜色过渡 .2s;底边 .3125 × size(4px)#FFD800
主体 pc 内边距 2.25 × size(28.8px)、透明(透出装饰图);手机竖屏 #EEF1F4,横屏透明
按钮 pc 高 3.75 × size(48px)、字 1.375 × size(17.6px)500;本皮肤圆角 3.125 × size(40px,接近胶囊);主:#262626 → 悬停 #3A3A3A → 按下 #1D1D1D,内缩 .1875 × size 的 1px #9F9EA0 内圈;次:#F2F1EF → 悬停 #FCFBF9,同样的内圈;禁用 #B4B4B4、opacity .7;没有过渡 手机竖屏 48px 高、圆角 50px;按钮、标题、价格用 "HG Source Han Sans"(脚本加载 400 / 500 / 700),其余系统字体栈
手机竖屏 底部抽屉:通宽、最高 90%、上圆角 1.25 × size;.3s ease 从下滑入;头 4.25 × size(68px)
其他 总价数值 #F96F68 700;pc 支付方式卡 4 × size 高、.1 × size 的 #EEEEEE 边、选中边 #262626,"推荐"角标 linear-gradient(123deg, #F99068, #EF534B);吐司 #262626、.18s ease-out;转圈 12 根短条 steps(12) 1s 没有"支付即同意"之类的协议文字

9.5 排队、节点选择与游戏内#

这些界面在点"开始游戏"之后才出现。测量时没有点,一个都没有渲染过:下表全部是规则(含脚本里的常量和组件结构),1440 下的像素是 rem × 16 算的。

层级常量(脚本):加载 900、悬浮球 950(二级浮层 951)、弹窗与排队面板 1000、内嵌页外壳 1050、商城 1100、商城加载 1200、分享二级 1220、提示框 1300、条款弹窗 1310、跑马灯 1350、最小化排队 1400、轻提示 1800、输入条 1900、提示 2000、浏览器提示条 2100。

排队与进入:

部位 值 备注
排队面板 28.75rem(460px),有活动图时展开成 57.5rem(920px):宽度和右栏位移都是 .8s cubic-bezier(.4,0,.2,1)
标题头 官方版 4.5rem(72px),#202020、不用底图,上圆角 .375rem;四张装饰小图(左上标志条、左下圆、底部居中、右下)+ 底部左半一根白 3% 细线
标题 "排队中"CloudGame Bold 1.25rem #EEEEEE;副标题 CloudGame Medium 1rem #BFBFBF,左边一个 1.25rem 的转圈;右上"- 最小化排队"CloudGame Medium .625rem 白 40%,1px 白 20% 边、圆角 .125rem
内容 #E6E6E6,内边距 1.5rem,下圆角 .375rem;等待卡 1px 黑 10% 边、圆角 .125rem,"预计等待时间".9375rem #5E5E5E,数值 #292929
快速队列条 bg-express-queue.png cover,圆角 .125rem,内边距 .9375rem;标题 CloudGame Medium 1rem #EEEEEE,说明 CloudGame Regular .875rem #BFBFBF,"最高可提速95%"#FFF100;右侧一颗主要胶囊(s34,6.875rem 宽) 底部"退出排队"是深色 s40、17.5rem 宽
展开页签与活动图 页签贴在面板左缘外:#292929、白字 .78125rem,一字一行竖排"展开 / 收起";左栏 #F2F2F2 底;活动图最大 24.75 × 12.0938rem、1px 黑 5% 边、圆角 .125rem、0 0 1rem rgba(0,0,0,.04);展开时从左往右刷出,clip-path: inset(0 100% 0 0) → inset(0),.6s cubic-bezier(.16,1,.3,1),延迟 .2s 收起时直接跳回,没有反向动画
最小化胶囊 2.25rem 高、内边距 .625 1rem、圆角 .25rem、1px 白 20% 边;黑 80% + 底纹图 + 5px 模糊,0 0 .5rem rgba(18,18,18,.2);CloudGame Medium .75rem:"排队中"#BFBFBF + "预计…"白;左边一个 14px 的时钟(lottie,18s 一循环,整块染成 #BFBFBF、指针镂空) 拖动超过 5px 才算拖,松手吸附最近的边(left / top .25s);边界写在 CSS 变量里:左右 max(3rem, 安全区 + .5rem)、底 4.25rem、顶栏下 1.5rem
选择队列 23.75rem(380px);头 3.5rem、底图;每个队列一张 21.75rem 的卡,右上一张 96 × 56 的角标图(免费队列没有);标题 .8125rem #292929,"加速排队"标签 .625rem #FFF100 字 #292929 底;右侧 1.75rem 的圆形箭头
节点选择 9.3 的带标题通用弹窗,"节点选择",左下角一张 172 × 60 的装饰图;表头三列 8.75rem / 7.625rem / 余下,#737373,没有字阶规则,继承浏览器默认字体 表头字体是探针量的
节点行 2.5rem(40px),1px 白 5% 边、白 5% + 底纹图、圆角 .125rem、行距 .25rem;第一列 CloudGame Regular 1rem #EEEEEE;第二、三列按延迟上色:≤80ms #7DCB1A、≤150ms #E1BD00、其余 #F95A5E;选中行 1px #EEEEEE 边。第一行左上角骑一个"推荐"(#EEEEEE 底、#292929 字 .625rem);行尾勾选圈 1rem,未选 1px rgb(80,80,80),选中是白色实心圆里一个黑勾 第三列写服务端状态"空闲 / 繁忙 / 拥挤",颜色却按延迟算
进入按钮 主要 s40:"进入游戏(60s)",每 500ms 校准一次倒数,到 0 用当前选中的节点进入(默认第一行) 脚本
进入确认 只在 iOS 或强制时弹:通用确认框"排队完成,点击进入游戏":灰色描边"取消进入(Ns)" + 深色"开始游戏",10s 倒数,超时自动取消;排队完成时手机振动 500ms(页面可见时) 脚本
游戏画面 串流容器 #000000;没在播放时黑 60% + 模糊、视频隐藏;启动中:3rem 转圈 + "游戏启动中,请耐心等待"CloudGame Medium 1.125rem #BFBFBF

游戏内:

部位 值 备注
悬浮球 4.25rem(68px),icon-floating-button.png 144×144;容器 left / top / opacity .25s、transform .16s linear 先半藏着,300ms 后贴边,2s 后又半藏(朝边移出半个球、opacity .5);拖动 5px 以上吸附最近的边(脚本)
菜单条 3.75rem 宽,圆角 .5rem,4px 周期的 −45° 深灰细斜纹,0 .25rem .75rem rgba(0,0,0,.4);竖排时从球后面伸出来;进场 .16s linear 下滑 第 6 节
菜单项 3.25rem(52px),圆角 .25rem,图标 2.25rem 白;悬停、按下白 10%(.2s);项间 1.25rem × 1px 白 30% 短横 横排时项的悬停底被一条特异度更高的规则清掉;顺序:用户、屏幕、网络、语音、全屏、下载、分享、客服、退出游戏
二级浮层 黑 80% + 5px 模糊,圆角 .5rem,内边距 .75rem;离触发项 20px(分享 12px)、离视口边 20px,放不下换边,太大时整体缩小(最小 .5) 打开:opacity + 从左 20px 移入,.16s linear;桌面靠悬停、触屏靠点击
卡片与选项块 卡片 28.75rem,1px 白 20% 边、白 5% 底、圆角 .25rem,标题 CloudGame Bold 1.125rem #EEEEEE;选项块 8.75rem,1px 白 10% 边(悬停 20%)、圆角 .125rem,字 CloudGame Medium 1rem #EEEEEE、副值 .875rem #737373 选中:1px #FFF100 边,右上 1rem 的黄角标里一个黑勾(勾的 SVG 用 currentColor 描边,作背景图时画成黑色)
选项内容 画质(省流 / 标清 / 超清)、帧率(30 / 60FPS)、画质增强(开关)、网络状态显示(关闭 / 精简 / 详细)、音量(滑条) 脚本
滑条 轨道 .25rem 白 20%、填充 #EEEEEE、圆角 .125rem;滑块 1.75 × .5rem #EEEEEE、1px 白 20% 边、圆角 .25rem、0 .125rem .5rem rgba(0,0,0,.2)
用户卡与下载浮层 用户卡头 5rem(底图),默认头像 4rem,"已游玩"胶囊 #292929 底 #EEEEEE 字、圆角 .75rem,畅玩卡值 #FFF100;下载浮层每栏 23.5rem,左缘一根三色竖条,"扫码下载"竖签白 10% 底,等高线图转 14.84°、不透明度 .1 数值不记
条款弹窗 "游戏条款与政策":min(50rem, 100vw − 2rem) 宽、圆角 1.25rem、0 .6rem .6rem rgba(0,0,0,.25);头 #262626 + 头图靠右,5.625rem 高 + .3125rem #FFD800 底边(content-box,外框 95px);标题 CloudGame Medium 1.5rem 白;正文白底,左上、右下各一张纹理图;勾选行 #F5F6FA、圆角 .5rem,圆框 1.25rem → 勾选 #FFD800;链接 #E9BA15;按钮 3.75rem 高:"取消"次要、"同意"深色 #262626,未勾选时 #B4B4B4 配色和账号 SDK 的 ef 皮肤一致(11.2)
跑马灯 顶部 7.5rem 起(有轻提示时往下让),最宽 40rem;条是两头透明、中间黑 50% 的横向渐变;字 .75rem / 1.25rem 白,系统字体栈(不是 CloudGame) 淡入 200ms → 停 1s → 每秒 4 个字滚过 → 淡出;页面隐藏时暂停(脚本)
提示条 默认栈在底部 10%、新的在下;轻提示栈在顶部 7.5rem;背板黑 80% + 5px 模糊、圆角 .25rem。默认型内边距 .75 1rem、CloudGame Regular .875rem 白,四角各一根 #737373 短刻;轻提示型最低 2.25rem、.75rem 字,左右各一根 1px #737373 竖线 进场 .16s linear 淡入,离场淡出并收起高度(.16s);默认 3s;数字 #FFF100
网络角标 右下(right 2rem、bottom 1rem),黑 40% 底、圆角 .125rem;延迟超过 200ms 或丢包 ≥10% 显示"网络差"#F95A5E,超过 50ms 或 ≥4% 显示"不稳定"#E1BD00,否则白色毫秒数 详细模式是帧率、带宽、丢包、延迟四格
文本输入条 贴顶,最低 4rem 高、左右内边距 4.5rem,#212121、0 −.25rem 1rem rgba(0,0,0,.4);输入框 2.5rem、白 10% 底、圆角 .125rem、#EEEEEE 1rem,占位"请输入"#737373;"完成"次要 + "取消"深色,各 9rem Enter 提交、Esc 关闭

转圈图标两张:浅色版 48×48,圆环里一道锥形渐变,半圈透明、半圈从透明渐到白 70% 的"彗尾";深色版同构、#292929;都是 1s linear 旋转。手机竖屏进游戏时整页转 90°;样式表和脚本里都没有"请旋转手机"的提示界面。

10. 视图一览#

视图 怎么进 底色 要点
首页 载入后默认 整幅主视觉;页面底 #849AAC 黑 80% 的 68px 顶栏;右侧宣传块(整张图)加一对胶囊;左下适龄角标;浏览器提示条;页脚在首屏以下
更多 顶栏"更多" #FFFFFF 2560 设计画布等比缩放;左侧白色侧栏目录,五节卖点纵向叠排;每次进入先过一遍加载层
下载弹窗 顶栏"下载" 遮罩黑 50% + 模糊 整张背景图的面板,约占视口宽 68%;两张卡,二维码加 #333333 平台按钮
分享浮层 顶栏"分享" 黑 80% + 模糊 424 宽,头部三色竖条,#F2F2F2 内容区;"收藏页面"再开通用确认框
公告面板 顶栏"公告" 外壳黑 50% + 模糊;面板灰渐变 跨源内嵌页、自有根字号;页签、选中卡、NEW、关闭钮都是图;先出底部加载条
用户中心下拉(登录后) 顶栏"用户中心" rgba(18,18,18,.9) + 模糊 200 宽、五项,没有退场动画;未登录时改为调起账号弹窗
账号卡(登录后) 登录后替换宣传块 浅灰头部,黑 80% 的块 活动 banner、通行证卡、时长块、宽"开始游戏"
商店 / 支付(登录后) 账号卡"续期""充值" 面板上 #212121、下 #D9D9D9;收银台白 920 × 448 固定尺寸,点可买的卡即下单;收银台是支付 SDK 的 cloud_endfield 皮肤(只有规则)
排队与游戏内(只读规则) "开始游戏"之后 多为黑 80% + 模糊 排队面板、节点选择、悬浮球菜单、游戏内提示与跑马灯;都没有渲染过
账号弹窗 未登录时载入后自动弹出、或点用户中心 遮罩黑 40%;卡片白 鹰角通用组件,在这里是 ef 皮肤(第 11 节)

11. 鹰角账号 SDK 弹窗#

这是鹰角各游戏共用的账号组件(登录、实名、协议更新等),不属于终末地站点自己的设计;这里只记它在 /cloud 上的样子,供对照。

尺寸都写作 E(n):E(n) = calc(var(--base-em-size, 16px) * n / 16)。1440×810 下 E(n) = 0.8n px,375 宽和 1920×1080 下 E(n) = n px(11.3)。

11.1 版本与皮肤#

  • 版本:账号 SDK 3.5.0,/cloud 与官网首页相同;外壳是网页 SDK 3.0.3(页脚和 SDK_Sans 字体来自它)。两份灰度配置里的稳定版也是这两个。
  • 样式全部是 SDK 运行时插入的内联样式,登录相关的那部分在打开登录框时才懒加载;页面自己的样式表里没有。
  • 皮肤模块默认值是 "ak",set() 只认 "ef" 和 "ak",别的值一律回落 ak。皮肤类挂在每个层容器自己身上,不在祖先上。(脚本)
  • 载入时 SDK 先插一个空的遮罩节点,调登录时再插一个装层的(或复用空的),关掉后都留在 body 里。
皮肤 品牌色 怎么出现
默认(无皮肤) #CBFF40 3.5.0 里正常调用拿不到;变量还留在样式表里(深色卡片配荧光绿)
ak(明日方舟) #0098DC 官网首页载入后没有设过皮肤,SDK 停在 ak;直接调 User.UI.login({}) 渲染出来的也是它。官网实测数据 3.4 记的"品牌蓝"就是这个
ef(终末地) #FFD800 /cloud 在自己的登录函数里、弹框前一刻调 skin.set("ef");未登录时载入页面自动弹出的也是 ef

11.2 三套皮肤的变量#

58 个变量,ef 和 ak 各多 13 个补充变量,复测逐个对过。下表挑影响外观的(变量名去掉前缀 --):

用途 变量 默认 ef ak
品牌色 Brand-primary、Content-bg-brand #CBFF40 #FFD800 #0098DC
悬停色(图标、文字) Content-icon-hover、Content-text-hover 荧光绿 80% #FFD800 #00B0FF
高亮文字、链接 Content-text-highlight、Content-text-brand #CBFF40(默认皮肤没有 Content-text-brand) #E9BA15 #0098DC
标题栏底 Content-bg-titlevbar #191919 #262626 #000000
卡片底 / 悬停;条目底(协议面板);输入底 Content-bg-card / -hover;Content-bg-item;Content-bg-filled #282828 / 荧光绿 10%;白 5%;白 15% #FFFFFF / #F9F9F9;#F5F6FA;#FFFFFF 同 ef
主按钮 默认 → 悬停;字 Content-button-bg-primary / -hover;Content-button-text-primary #CBFF40 → 80%;#000000 #262626 → #484848;#FFFFFF #000000 → #232323;#FFFFFF
次按钮 默认 → 悬停;字 Content-button-bg-secondary / -hover;Content-button-text-secondary #9B9B9B → 60%;#FFFFFF #F2F1EF → #FCFBF9;#4D4D4D #EEEEEE → #F3F3F3;#4D4D4D
禁用按钮底 Content-button-bg-disabled 荧光绿 50% #B4B4B4 rgba(0,0,0,.35)
按钮内圈线 Content-line-btn 透明 #9F9EA0 透明
头部图标钮 默认 → 悬停 Content-button-icon-btn / -hover 白 10% → 30% #CCCCCA → #FFFFFF(用作图标色) 白 10% → 30%(用作底色)
主文字 / 说明 Content-text-primary / -caption #FFFFFF / #D4D8DD #262626 / #4D4D4D 同 ef
占位 / 禁用文字 Content-text-placeholder / -disabled #9B9B9B / #787878 #9B9B9B / #B5B5B5 同 ef
边线;线 默认 / 悬停 / 聚焦 Content-line-border;Content-line-default / -hover / -focus 白 10%;#9B9B9B / #CBFF40 / 荧光绿 60% #EEEEEE;#9B9B9B / #262626 / #262626 同 ef
遮罩 Content-bg-mask rgba(0,0,0,.4) 同 同
功能色 错误 / 警告 / 成功 / 信息 Functional-* #F96F68 / #F5A623 / #48D2A0 / #48D2A0 同 同

ak 和 ef 只在品牌色、悬停色、高亮文字与链接、标题栏、按钮、头部图标钮这几组上不同;默认皮肤是深色卡片配荧光绿,完全是另一种样子。

11.3 字号档与字体#

SDK 不用 rem,页面的根字号对它没有影响。弹窗根上按媒体查询给 --base-em-size:

条件 基准 备注
宽 600 – 1917px,高 ≥431 12.8px 1440×810 实测
宽 1918 – 2557px,高 ≥431 16px 1920×1080 落在这档(推算)
宽 2558 – 3837px / ≥3838px,高 ≥431 19.2px / 21.6px
宽 ≥600px,高 ≤430 10px 矮屏
宽 ≤600px 16px 375 实测
强制横屏,宽 ≤460 / ≤380 / ≤300 12 / 10 / 8px 没测
  • 加载转圈的容器挂在遮罩下、不在弹窗根里,取不到基准,E(n) 走回退值 16px:任何视口都是 80 × 80px、圆角 4px。
  • 字体:弹窗是 sans-serif、E(16)、行高 1.5;按钮和输入框没写字体也不继承,在 Windows 的 Chrome 里是 Arial。SDK_Sans 只给页脚用,弹窗里没有元素用它。
  • 支付 SDK 的 --pay-sdk-size 见 9.4。

11.4 外壳:遮罩、圆角、阴影、进出场#

部位 值 备注
遮罩 fixed 铺满,z-index 999;rgba(0,0,0,.4)(写死的字面量);opacity / visibility .3s 页面自己的下载弹窗是 1000,比它高
层容器 每层一个,铺满、overflow: auto(原生滚动条);淡入 .3s、延迟 .3s(窄于 600 时延迟 .1s),淡出不延迟 换层时旧层先走,新层再来
卡片 margin: auto 居中,最宽 90%;登录层 E(600)(1440 下 480px),确认层 E(800)(640px)
圆角 皮肤卡片 E(20):1440 下 16px,1920 下 20px;窄于 600 时 E(12) = 12px;默认皮肤 E(12) / E(8);输入框 100em,即胶囊
阴影 实际生效 0 0 E(24) rgba(0,0,0,.5)(1440 下 19.2px) 皮肤规则 0 E(9.6) E(19.2) rgba(0,0,0,.25) 写成了"皮肤类在祖先上",而皮肤类挂在层容器自身,ef、ak 都匹配不到
底部抽屉 窄于 600:通宽、最高 90%、贴底,上圆角 12px;进场从下移 50% 回到原位,.3s 375 下快速登录层 375 宽、贴底
打开 遮罩先淡入 .3s;首层的显示类是异步加的(实测比遮罩晚 16 – 230ms),再叠 .3s 延迟,首层要到遮罩淡入完之后才开始淡入 时序随网络和缓存变,不能当固定值
关闭 点叉约 8ms 后遮罩开始淡出,回调同时触发(结果 2 = 取消);约 314 – 318ms 后卸载各层
提示与加载 提示 z-index 1000,E(20) / E(30) 字,内边距 E(16) E(24),圆角 E(12),#262626 底白字,0 0 E(24) rgba(0,0,0,.5);加载 80 × 80,rgba(0,0,0,.8)、圆角 4px、blur(2.718px),12 根白色辐条依次闪(SVG 动画,1s) 窄于 600 的提示 E(14)、E(12) E(16)、E(8)

另有一组 scale(.88) 淡入的进出场规则,登录框不用;用在哪没查到,样式表里同构的另一组写给角色选择弹窗,推测是同类弹窗用的。

11.5 弹窗头#

部位 ef(/cloud) ak(直接调用) 备注
高与圆角 E(90)(1440 下 72px;窄于 600 E(64));上两角同卡片 同
底 #262626 + ef-header-bg.png(2397×400,全白,最高不透明 .18,约 14% 像素不透明,中段和右端最密) #000000 + ak-header-bg.png cover、居中
品牌色条 贴头底,E(5) 高(1440 下 4px,窄于 600 E(3)),#FFD800 #0098DC
水印 无 字标(按 path 结构推断是 HYPERGRYPH),不透明度 .08、高 E(55) 只在没有标志的确认层头里
标志 / 标题 登录层是内联 SVG 标志(136 × 72,白),高 E(72)(108.8 × 57.6px);确认层是标题,E(24) 700 白(19.2px),单行省略,窄于 600 E(18)、过长时 E(16) 同
关闭钮 E(32)(25.6px),无底;实心叉,#CCCCCA → 悬停白(.3s);左上到右下那条对角线在中心偏右下断开约 1.3 单位 E(40)(32px)圆底,白 10% → 悬停 30%;描边叉白色,一条对角线断成两截、缺口约 2.8 单位 确认层都没有关闭钮
中区左右留白(有关闭钮时) E(72)(57.6px) E(80)(64px)
层底装饰 ::before 铺两张图:左上 ef-bg-top-left.svg(458×84,#EDEDED 1.125 粗的细线纹),E(458) × E(84),贴左、顶在头部下沿;右下 ef-bg-bottom-right.svg(里面嵌一张 667×238 的 PNG,平均 #EDEDED),E(590) × E(158) 无 登录层和所有确认层都有,内容压在它上面

11.6 登录层#

快速登录(已登录过的账号)和验证码登录(未登录时的首屏)。值按 ef 皮肤、1440×810 写:

部位 值 备注
层 480 宽、白、圆角 16px;内边距快速登录 E(48) E(36) E(64),验证码登录 E(32) E(36) E(40)。375 宽时是底部抽屉:输入行 327 × 48、描边 1.5px,按钮圆角 100px,字 E(16) 快速登录 480 × 329.5(有号码时),验证码登录 480 × 422.3
手机号 E(32) 500 #262626,行高 1.25;下一行说明 E(16) #9B9B9B 号码不记
输入行 E(60) 高(48px),内边距 E(14) E(24),胶囊,白底,inset 0 0 0 E(1.5) #EEEEEE;悬停与聚焦 inset E(2) #262626;错误 inset E(2) #F96F68;color、box-shadow、background-color .3s。前置图标 E(32) #9B9B9B;输入字 E(20) #262626,占位同字号 #9B9B9B 悬停时前置图标不变色,聚焦才变 #262626;没有禁用样式;两行间距 E(24)
发送验证码 E(20) #B5B5B5 → 悬停 #E9BA15(.2s);前面一根 E(2) × E(24)、圆角 E(6) 的 #EEEEEE 竖线;禁用 #9B9B9B,倒计时数字 #262626 错误文字 E(18) #F96F68
协议面板 #F5F6FA,圆角 E(8),内边距 E(4) E(12),字 E(16) #4D4D4D;错误时底 rgba(249,111,104,.1)
勾选框 E(20) 圆形(默认皮肤是方的),inset E(1.5) #9B9B9B;悬停 #262626;选中整个填成 #FFD800、里面 #262626 的勾(ak 是蓝底白勾);错误 #F96F68 勾是 viewBox 14 × 14 的圆头折线,1.5 粗,画在 E(20) 的框里
协议链接 #E9BA15 500 → 悬停 #FFD800 + 不透明度 .8 浅底上的黄字对比很低
主按钮 E(60) 高、E(22) 600;胶囊(圆角 E(100)、内边距 E(2));#262626 → 悬停 #484848,白字;禁用 #B4B4B4(字仍白,悬停不变);::before 内缩 E(3) 的 E(1.5) #9F9EA0 内圈;颜色过渡 .3s 快速登录的"登录"宽 E(456)、居中
次按钮 #F2F1EF → 悬停 #FCFBF9,字 #4D4D4D,同样的内圈;禁用 #B4B4B4、不透明度 .7 ak 的内圈线是透明的
文字按钮 E(20) #4D4D4D → 悬停 #E9BA15(.2s) "登录其他账号""密码登录";窄于 600 加"扫码登录"
二维码角标 层的左下角,qrcode_tip.svg(120×120)E(72);不透明度 .4 → 悬停 1(.3s);窄于 600 不显示
角标气泡 #262626 白字 E(14),高 E(40)、内边距 0 E(12)、圆角 E(8),左侧一个 E(8) 的三角(DPR 1 下取整成 6px);悬停淡入 .3s "扫码登录更方便"

11.7 确认层与设备验证#

部位 值 备注
通用 E(800) 宽(640px)、最宽 90%,白底、圆角同卡片;头部只有标题、没有关闭钮;正文内边距 E(24) E(36) 0、E(20) #4D4D4D、行高 1.5;按钮行内边距 E(32) E(36) E(36)、间距 E(16),按钮各 flex 1 窄于 600 变抽屉,正文 E(14)
系统提示 封号:"确定";注销中:"放弃登录" + "继续登录";这几颗按钮固定 E(280)(224px) 1440 下 640 × 193.6(正文为空时)
协议更新 导语里"更新概要"链接 #E9BA15(悬停加下划线);协议列表每项内边距 E(8) 0、底边 1px 虚线 #EEEEEE,名称 #4D4D4D → 悬停 #E9BA15 + 下划线;"拒绝" + "阅读并同意" 640 × 367.7
实名、挽留、未成年、防沉迷 实名 E(600) 宽,输入框用真边框:E(60) 高、E(1.5) #EEEEEE(DPR 1 下应取整成 1px,推定)、胶囊,悬停与聚焦 #262626、错误 #F96F68;挽留页一个 E(80) 的问号图标;未成年提示里的时段数字 #E9BA15;防沉迷单按钮 E(280) 规则
设备验证 E(600) 宽,可带返回钮;号码 E(32) 500 #262626;6 格验证码,每格 E(48) × E(60)(1440 下 38.4 × 48)、间距 E(16)、圆角 E(4.8)、字 E(34) 500,白底 + inset E(1) #EEEEEE;当前格 #262626、错误 #F96F68,已填的格没有单独样式;光标 1px × E(24),1s step-end 闪;重新获取倒数 60s 一打开就会发短信,没有触发;规则
扫码视图 二维码框 E(260)、白底、inset E(1) #EEEEEE、圆角 E(6);状态遮罩白 95%;"扫描中"方块 E(120) #282828(写死,不随皮肤);App 气泡 #262626 规则
挂载与时长 刚调登录时有 5 个层容器,页面开得久了会按需挂到 11 个;按钮、输入、图标的颜色与描边 .3s,文字按钮、勾选框、验证码格 .2s,缓动都是默认 ease

12. 没有量到的东西#

  • 烧在图里的文字(首页宣传块、下载弹窗标题与"扫码下载"、"更多"的块状大字和微缩字、公告 NEW 角标)只有位置和像素颜色,字体、字号、字形内容都读不到。图里的颜色、条纹角度和周期是读像素的近似值,没有逐像素还原(SDK 的 ef 装饰图只做了像素统计)。
  • 真悬停量过的只有首页的导航项、页签、胶囊按钮,用户中心条目的字色,账号卡的提示图标与气泡,以及账号 SDK 的按钮、链接、输入行和关闭钮;下载弹窗、"更多"侧栏、公告页、商城的悬停与按下只读了规则。后台标签页不出帧,"更多"的入场动画也没看到实际画面,时长、延迟、缓动全部来自规则。
  • 手机横屏的首页、"更多"、商城、分享浮层只有规则;强制横屏下的实际字号和 SDK 字号档没量。移动端只在 Android 模拟(宽 768 以下)下测过,iPhone、iPad、鸿蒙 UA 在内置浏览器里没测;Android UA 重新载入后页脚是空的,无头 Edge 换 iPhone UA 时页脚正常,原因没查清。
  • 设了最小字号的浏览器上字号校正会生效,排版会和表里不同。
  • 浏览器提示条"正常版本的 Edge 不出现"是按兼容表推的;移动版和应用内浏览器版没有出现过。
  • 全局提示组件没有在页面上触发过:复制链接、添加到桌面的结果提示和公告页底部的提示都没看到样式。"更多"第 2 – 4 节的视频只读了文件规格,播放行为没有实测。
  • 启动加载层真实出现时的计算值:复测时登录状态确认得很快,尺寸是把同类名的节点临时挂上去量的。
  • CDKEY 兑换页(跨源)、账号与安全(会离开本页)、退出登录(会改账号状态)都没有打开;未登录时点"用户中心"只在手机模拟下点过一次,弹出的是账号 SDK 登录框,没有量。
  • 登录态只拿到过一次:账号卡在 1024 宽和移动端都没有计算值;时长说明弹窗是在未登录页面上用同样的参数调出来的。收银台、排队面板、节点选择、悬浮球菜单、游戏内提示全部没有渲染,只有规则和探针。
  • 账号 SDK:设备验证、实名、挽留、未成年、防沉迷、扫码视图、密码登录都没渲染;勾选框和二维码角标在 ef 下没有真悬停;带授权参数的登录路径和 1920×1080 没量。
  • 公告页什么时候切暗色主题、它 body 上的自定义光标为什么没生效,都没查。