measure-before.json 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  1. {
  2. "tag": "before",
  3. "rows": [
  4. {
  5. "no": 1,
  6. "name": ".grid2 改为 align-items: start(computed)",
  7. "ok": false,
  8. "detail": "computed align-items=stretch;inline style「align-items:stretch」;grid 高 126px,列宽 610.906px 509.094px"
  9. },
  10. {
  11. "no": 2,
  12. "name": "两张卡高度 = 各自内容高度(卡高 − 内容高 ≤ 40px)",
  13. "ok": false,
  14. "detail": "卡1「?选「我是」」高 125.8px,内容 44px,差 81.8px(.frame display=flex justify=normal);卡2「1 人卡住 」高 125.8px,内容 75.8px,差 50px(.frame display=flex justify=normal);两卡高度差 0.0px"
  15. },
  16. {
  17. "no": 3,
  18. "name": "全页最大连续空白 ≤ 80px(9 个路由逐页量;按横截面采样,卡片面 / 表格行 / 空态面板算内容)",
  19. "ok": true,
  20. "detail": "/ 24px(「?」(@109) ↓ 「机会卡池」(@234));/pool 44px(「机会卡池」(@90) ↓ 「池子」(@520));/stages 34px(「S1」(@101) ↓ 「35」(@225));/reports 46px(「1」(@101) ↓ 「阶段」(@270));/reports/competitor 38px(「1」(@96) ↓ 「阶段」(@219));/reports/voc 38px(「1」(@96) ↓ 「阶段」(@219));/members 50px(「成员」(@90) ↓ 「G2」(@594));/ledger 36px(「证据台账」(@95) ↓ 「点击行查看证据链」(@472));工作台 .grid2 卡片底 → 下一区块标题 24px"
  21. },
  22. {
  23. "no": 4,
  24. "name": "全站「并排多卡」无 align-items: stretch 拉伸",
  25. "ok": false,
  26. "detail": "/:div.grid2×2 高 126/126"
  27. },
  28. {
  29. "no": 5,
  30. "name": "主数值 32px / 600 / -0.02em / tabular-nums / line-height 1.1",
  31. "ok": true,
  32. "detail": "主数值「9」:font-size 32px,font-weight 600,letter-spacing -0.64px(= 32px × -0.02,浏览器按 0.1px 精度取值),line-height 35.2px,font-variant-numeric tabular-nums,color rgb(20, 29, 51);四张数据卡数值字号 32px/600 -0.64px、32px/600 -0.64px、32px/600 -0.64px、32px/600 -0.64px;kf-stat 数值 本页无"
  33. },
  34. {
  35. "no": 6,
  36. "name": "标签 11px / 500 / 0.06em / gray-9",
  37. "ok": true,
  38. "detail": "标签「432」:font-size 11px,font-weight 500,letter-spacing 0.66px(11px×0.06=0.66px),color rgb(35, 44, 69)"
  39. },
  40. {
  41. "no": 7,
  42. "name": "全站字号去重 ≤ 6 档(11/13/14/16/20/32)",
  43. "ok": false,
  44. "detail": "桌面 + 手机 9 页去重:9px / 9.5px / 10px / 10.5px / 11px / 11.5px / 12px / 12.5px / 13px / 13.5px / 14px / 15px / 16px / 17px / 18px / 20px / 24px / 32px(共 18 档);越界:D/: span.mark 18px「康」;D/: div.name 15px「产品创新看板」;D/: div.sub 11.5px「研发中心 · A」;D/: span.lbl 13.5px「工作台」;D/: span.en 10px「Workbenc」;D/: span.lbl 13.5px「机会卡池」;D/: span.en 10px「Opportun」;D/: span.lbl 13.5px「五阶段产出」"
  45. },
  46. {
  47. "no": 8,
  48. "name": "全站字重只有 400/500/600(无 700/800)",
  49. "ok": false,
  50. "detail": "去重:400 / 500 / 550 / 600 / 650 / 700 / 800 / 900;超重:D/: span.mark 800「康」;D/: div.name 700「产品创新看板」;D/: span.badge 700「9」;D/: span.badge.danger 700「1」;D/: span.who 700「?」;D/: div.v 700「76」;D/: div.v 700「中」;D/: div.v 700「5」"
  51. },
  52. {
  53. "no": 9,
  54. "name": "全站投影档位 ≤ 3 档(--shadow-1/2/3)",
  55. "ok": false,
  56. "detail": "16 种 computed box-shadow;去重后:投影 11 档 + 结构线(环 / 内描边)2 种:\n S1 0px 1px 2px 0px a0.05 | 0px 8px 24px -12px a0.1\n S2 0px 8px 20px -10px a0.7\n S3 0px 6px 16px -12px a0.4\n S4 0px 1px 2px 0px a0.06\n S5 -24px 0px 60px -30px a0.35\n S6 0px 18px 40px -18px a0.6\n S7 0px -20px 48px -24px a0.35\n S8 0px 1px 2px 0px a0.12\n S9 0px 16px 32px -16px a0.28\n S10 0px 8px 16px -10px a0.8\n S11 0px 1px 2px 0px a0.05\n 镜像档(与某档同形、offset-y 取反)不计:\n 结构线:R1 0px 0px 0px 3px a0.15;R2 0px 0px 0px 1.5px a0.9\n 含 inset 的全部原值(16 种)见 docs/screenshots/v10/shadow-report.json"
  57. },
  58. {
  59. "no": 10,
  60. "name": "玻璃卡含 inset 0 1px 0 rgba(255,255,255,.70) + blur(28px) saturate(180%)",
  61. "ok": false,
  62. "detail": ".frame box-shadow = rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px, rgba(16, 24, 40, 0.1) 0px 8px 24px -12px\n backdrop-filter = blur(28px) saturate(1.8)"
  63. },
  64. {
  65. "no": 11,
  66. "name": "卡片圆角 16px(桌面),全站无 ≥24px",
  67. "ok": true,
  68. "detail": "类型页卡片 16px,工作台数据卡 16px;类型页全页圆角分布:999px ×16 (span.badge,span.badge.danger);50% ×51 (span.live,span.dot);16px ×15 (aside.side.kf-glass.is-panel,header.bar.kf-glass);15px ×12 (div.face,div.face);12px ×2 (span.mark,div.ico);11px ×6 (a,a);10px ×11 (button.refresh.kf-btn,div.kpi);8px ×18 (span.ic,span.ic);7px ×6 (button,button);6px ×51 (button.opt,button.opt);5px ×2 (span.pri.p-A,span.pri.p-S);4px ×17 (span.ck,span.ck);2px ×51 (span.sw.t-blue,span.sw.t-violet)"
  69. },
  70. {
  71. "no": 12,
  72. "name": "强调色 #5B5BD6 占比 ≤ 5%(按面积)",
  73. "ok": true,
  74. "detail": "命中元素面积合计 1936px² / 首屏可见元素面积 13729510px² = 0.01%;命中 1 个元素:div.avatar「?」 44×44"
  75. },
  76. {
  77. "no": "12b",
  78. "name": "对比度 ≥ 4.5:1:桌面 + 手机逐页逐文字节点(玻璃后按光场最深色斑算)",
  79. "ok": true,
  80. "detail": "桌面 9 个页面共 3164 个文字节点;正文(gray-12 / gray-11)最低 99:1「undefined」undefinedpx;全节点最低 3:1「康」18px(rgb(255, 255, 255),渐变底白字单列);手机 9 个页面共 2846 个,最低 3:1「?」13px(rgb(255, 255, 255));--kf-ink-3(rgb(75,85,99))辅助文字 0 处,最低 —:1;渐变底白字(头像 / 品牌块)51 个单列;低于阈值的 0 个"
  81. },
  82. {
  83. "no": 13,
  84. "name": "hover:150ms cubic-bezier(.2,0,0,1),translateY(-1px);press scale(.985) 80ms",
  85. "ok": false,
  86. "detail": "可点卡(lift).frame transition = all | 0.22s | cubic-bezier(0.4, 0, 0.2, 1);hover 实测 transform = matrix(1.002, 0, 0, 1.002, 0, -2);按下实测 transform = matrix(1.002, 0, 0, 1.002, 0, -2)"
  87. },
  88. {
  89. "no": 14,
  90. "name": "prefers-reduced-motion: reduce 覆盖",
  91. "ok": true,
  92. "detail": "模拟 reduce 媒体后 matchMedia=true,卡片 transition-duration computed = 1e-05s"
  93. },
  94. {
  95. "no": 15,
  96. "name": "手机 393px:Tab 栏在、工作台单列、9 页 scrollWidth === clientWidth",
  97. "ok": true,
  98. "detail": "9 页 scrollWidth/clientWidth:/ 393/393、/pool 393/393、/stages 393/393、/reports 393/393、/reports/competitor 393/393、/reports/voc 393/393、/members 393/393、/ledger 393/393;Tab 栏 grid(5 项,底边 852=视口 852),侧栏 none;工作台 .grid2 列 345px,两卡 345×78@24 / 345×131@24"
  99. },
  100. {
  101. "no": 16,
  102. "name": "node --test 46/46 + check.mjs 全绿 + 字数不回升",
  103. "ok": true,
  104. "detail": "单测 pass=46 fail=0;check 13 ✓ / 0 ✗;字数 类型页 96/300 · 工作台 95/350 · 阶段页 33/300 · 报告详情 183/250 · 报告中心 38/200;控制台错误 0"
  105. }
  106. ],
  107. "collected": {
  108. "grid2": {
  109. "alignItems": "stretch",
  110. "inlineStyle": "align-items:stretch",
  111. "gridH": 126,
  112. "cols": "610.906px 509.094px",
  113. "cards": [
  114. {
  115. "id": "?选「我是」",
  116. "cardH": 125.8,
  117. "contentH": 44,
  118. "faceH": 92,
  119. "display": "flex",
  120. "justify": "normal",
  121. "dir": "column"
  122. },
  123. {
  124. "id": "1 人卡住 ",
  125. "cardH": 125.8,
  126. "contentH": 75.8,
  127. "faceH": 123.8,
  128. "display": "flex",
  129. "justify": "normal",
  130. "dir": "column"
  131. }
  132. ]
  133. },
  134. "gaps": {
  135. "/": {
  136. "gap": 24,
  137. "span": 80.796875,
  138. "a": "「?」(@109)",
  139. "b": "「机会卡池」(@234)",
  140. "rows": 28,
  141. "tracks": 106,
  142. "painted": 136,
  143. "docH": 976
  144. },
  145. "/pool": {
  146. "gap": 44,
  147. "span": 398.796875,
  148. "a": "「机会卡池」(@90)",
  149. "b": "「池子」(@520)",
  150. "rows": 83,
  151. "tracks": 320,
  152. "painted": 359,
  153. "docH": 1899
  154. },
  155. "/stages": {
  156. "gap": 34,
  157. "span": 105.390625,
  158. "a": "「S1」(@101)",
  159. "b": "「35」(@225)",
  160. "rows": 118,
  161. "tracks": 549,
  162. "painted": 1142,
  163. "docH": 3921
  164. },
  165. "/reports": {
  166. "gap": 46,
  167. "span": 133.59375,
  168. "a": "「1」(@101)",
  169. "b": "「阶段」(@270)",
  170. "rows": 77,
  171. "tracks": 320,
  172. "painted": 615,
  173. "docH": 1663
  174. },
  175. "/reports/competitor": {
  176. "gap": 38,
  177. "span": 112.5,
  178. "a": "「1」(@96)",
  179. "b": "「阶段」(@219)",
  180. "rows": 65,
  181. "tracks": 283,
  182. "painted": 550,
  183. "docH": 1551
  184. },
  185. "/reports/voc": {
  186. "gap": 38,
  187. "span": 112.5,
  188. "a": "「1」(@96)",
  189. "b": "「阶段」(@219)",
  190. "rows": 71,
  191. "tracks": 261,
  192. "painted": 493,
  193. "docH": 1646
  194. },
  195. "/members": {
  196. "gap": 50,
  197. "span": 472.796875,
  198. "a": "「成员」(@90)",
  199. "b": "「G2」(@594)",
  200. "rows": 30,
  201. "tracks": 121,
  202. "painted": 125,
  203. "docH": 1215
  204. },
  205. "/ledger": {
  206. "gap": 36,
  207. "span": 346.296875,
  208. "a": "「证据台账」(@95)",
  209. "b": "「点击行查看证据链」(@472)",
  210. "rows": 51,
  211. "tracks": 393,
  212. "painted": 394,
  213. "docH": 1873
  214. }
  215. },
  216. "grid2Gap": 24,
  217. "stretches": {
  218. "/": [
  219. {
  220. "el": "div.grid2",
  221. "n": 2,
  222. "hs": "126/126",
  223. "grid": true
  224. }
  225. ]
  226. },
  227. "typo": {
  228. "value": {
  229. "fs": "32px",
  230. "fw": "600",
  231. "ls": "-0.64px",
  232. "lh": "35.2px",
  233. "fvn": "tabular-nums",
  234. "color": "rgb(20, 29, 51)",
  235. "text": "9"
  236. },
  237. "label": {
  238. "fs": "11px",
  239. "fw": "500",
  240. "ls": "0.66px",
  241. "lh": "15.4px",
  242. "fvn": "normal",
  243. "color": "rgb(35, 44, 69)",
  244. "text": "432"
  245. },
  246. "valTag": "B",
  247. "allValues": [
  248. {
  249. "fs": "32px",
  250. "fw": "600",
  251. "ls": "-0.64px",
  252. "lh": "35.2px",
  253. "fvn": "tabular-nums",
  254. "color": "rgb(20, 29, 51)",
  255. "text": "9"
  256. },
  257. {
  258. "fs": "32px",
  259. "fw": "600",
  260. "ls": "-0.64px",
  261. "lh": "35.2px",
  262. "fvn": "tabular-nums",
  263. "color": "rgb(20, 29, 51)",
  264. "text": "82"
  265. },
  266. {
  267. "fs": "32px",
  268. "fw": "600",
  269. "ls": "-0.64px",
  270. "lh": "35.2px",
  271. "fvn": "tabular-nums",
  272. "color": "rgb(20, 29, 51)",
  273. "text": "8人"
  274. },
  275. {
  276. "fs": "32px",
  277. "fw": "600",
  278. "ls": "-0.64px",
  279. "lh": "35.2px",
  280. "fvn": "tabular-nums",
  281. "color": "rgb(20, 29, 51)",
  282. "text": "5"
  283. }
  284. ],
  285. "statNum": null
  286. },
  287. "wBad": [
  288. "D/: span.mark 800「康」",
  289. "D/: div.name 700「产品创新看板」",
  290. "D/: span.badge 700「9」",
  291. "D/: span.badge.danger 700「1」",
  292. "D/: span.who 700「?」",
  293. "D/: div.v 700「76」",
  294. "D/: div.v 700「中」",
  295. "D/: div.v 700「5」",
  296. "D/pool: span.mark 800「康」",
  297. "D/pool: div.name 700「产品创新看板」",
  298. "D/pool: span.badge 700「9」",
  299. "D/pool: span.badge.danger 700「1」",
  300. "D/pool: span.who 700「?」",
  301. "D/pool: b 700「9」",
  302. "D/pool: div.v 700「82」",
  303. "D/pool: div.v 700「中」",
  304. "D/stages: span.mark 800「康」",
  305. "D/stages: div.name 700「产品创新看板」",
  306. "D/stages: span.badge 700「9」",
  307. "D/stages: span.badge.danger 700「1」",
  308. "D/stages: span.who 700「?」",
  309. "D/stages: span.b.blue 700「S1」",
  310. "D/stages: b 700「6」",
  311. "D/stages: span.b.violet 700「S2」",
  312. "D/reports: span.mark 800「康」",
  313. "D/reports: div.name 700「产品创新看板」",
  314. "D/reports: span.badge 700「9」",
  315. "D/reports: span.badge.danger 700「1」",
  316. "D/reports: span.who 700「?」",
  317. "D/reports: b 900「45」",
  318. "D/reports: button 650「最新」",
  319. "D/reports: button 650「最新」",
  320. "D/reports/competitor: span.mark 800「康」",
  321. "D/reports/competitor: div.name 700「产品创新看板」",
  322. "D/reports/competitor: span.badge 700「9」",
  323. "D/reports/competitor: span.badge.danger 700「1」",
  324. "D/reports/competitor: span.who 700「?」",
  325. "D/reports/competitor: b 700「25」",
  326. "D/reports/competitor: b 700「5」",
  327. "D/reports/competitor: b 700「2」",
  328. "D/reports/voc: span.mark 800「康」",
  329. "D/reports/voc: div.name 700「产品创新看板」",
  330. "D/reports/voc: span.badge 700「9」",
  331. "D/reports/voc: span.badge.danger 700「1」",
  332. "D/reports/voc: span.who 700「?」",
  333. "D/reports/voc: b 700「10」",
  334. "D/reports/voc: b 700「5」",
  335. "D/reports/voc: b 700「1」",
  336. "D/members: span.mark 800「康」",
  337. "D/members: div.name 700「产品创新看板」",
  338. "D/members: span.badge 700「9」",
  339. "D/members: span.badge.danger 700「1」",
  340. "D/members: span.who 700「?」",
  341. "D/ledger: span.mark 800「康」",
  342. "D/ledger: div.name 700「产品创新看板」",
  343. "D/ledger: span.badge 700「9」",
  344. "D/ledger: span.badge.danger 700「1」",
  345. "D/ledger: span.who 700「?」",
  346. "D/ledger: b 700「35」",
  347. "M/: span.badge 700「9」",
  348. "M/: span.badge.danger 700「1」",
  349. "M/: span.who 700「?」",
  350. "M/: div.v 700「76」",
  351. "M/: div.v 700「中」",
  352. "M/: div.v 700「5」",
  353. "M/: b 650「暂缓」",
  354. "M/: div.v 700「80」",
  355. "M/pool: span.badge 700「9」",
  356. "M/pool: span.badge.danger 700「1」",
  357. "M/pool: span.who 700「?」",
  358. "M/pool: b 700「9」",
  359. "M/pool: button.pbar-btn 700「筛选」",
  360. "M/pool: div.v 700「82」",
  361. "M/pool: div.v 700「中」",
  362. "M/pool: div.v 700「5」",
  363. "M/stages: span.badge 700「9」",
  364. "M/stages: span.badge.danger 700「1」",
  365. "M/stages: span.who 700「?」",
  366. "M/stages: span.b.blue 700「S1」",
  367. "M/stages: b 700「6」",
  368. "M/stages: span.b.violet 700「S2」",
  369. "M/stages: b 700「8」",
  370. "M/stages: span.b.teal 700「S3」",
  371. "M/reports: span.badge 700「9」",
  372. "M/reports: span.badge.danger 700「1」",
  373. "M/reports: span.who 700「?」",
  374. "M/reports: b 700「45」",
  375. "M/reports: button 650「最新」",
  376. "M/reports: span.pri.p-A 800「A」",
  377. "M/reports: div.v 700「中」",
  378. "M/reports: div.v 700「3」",
  379. "M/reports/competitor: span.badge 700「9」",
  380. "M/reports/competitor: span.badge.danger 700「1」",
  381. "M/reports/competitor: span.who 700「?」",
  382. "M/reports/competitor: b 700「25」",
  383. "M/reports/competitor: b 700「5」",
  384. "M/reports/competitor: small 700「/5」",
  385. "M/reports/competitor: b 700「2」",
  386. "M/reports/competitor: small 700「/25」",
  387. "M/reports/voc: span.badge 700「9」",
  388. "M/reports/voc: span.badge.danger 700「1」",
  389. "M/reports/voc: span.who 700「?」",
  390. "M/reports/voc: b 700「10」",
  391. "M/reports/voc: b 700「5」",
  392. "M/reports/voc: small 700「/5」",
  393. "M/reports/voc: b 700「1」",
  394. "M/reports/voc: small 700「/10」",
  395. "M/members: span.badge 700「9」",
  396. "M/members: span.badge.danger 700「1」",
  397. "M/members: span.who 700「?」",
  398. "M/ledger: span.badge 700「9」",
  399. "M/ledger: span.badge.danger 700「1」",
  400. "M/ledger: span.who 700「?」",
  401. "M/ledger: h2 700「证据台账」",
  402. "M/ledger: b 700「35」"
  403. ],
  404. "sBad": [
  405. "D/: span.mark 18px「康」",
  406. "D/: div.name 15px「产品创新看板」",
  407. "D/: div.sub 11.5px「研发中心 · A」",
  408. "D/: span.lbl 13.5px「工作台」",
  409. "D/: span.en 10px「Workbenc」",
  410. "D/: span.lbl 13.5px「机会卡池」",
  411. "D/: span.en 10px「Opportun」",
  412. "D/: span.lbl 13.5px「五阶段产出」",
  413. "D/pool: span.mark 18px「康」",
  414. "D/pool: div.name 15px「产品创新看板」",
  415. "D/pool: div.sub 11.5px「研发中心 · A」",
  416. "D/pool: span.lbl 13.5px「工作台」",
  417. "D/pool: span.en 10px「Workbenc」",
  418. "D/pool: span.lbl 13.5px「机会卡池」",
  419. "D/pool: span.en 10px「Opportun」",
  420. "D/pool: span.lbl 13.5px「五阶段产出」",
  421. "D/stages: span.mark 18px「康」",
  422. "D/stages: div.name 15px「产品创新看板」",
  423. "D/stages: div.sub 11.5px「研发中心 · A」",
  424. "D/stages: span.lbl 13.5px「工作台」",
  425. "D/stages: span.en 10px「Workbenc」",
  426. "D/stages: span.lbl 13.5px「机会卡池」",
  427. "D/stages: span.en 10px「Opportun」",
  428. "D/stages: span.lbl 13.5px「五阶段产出」",
  429. "D/reports: span.mark 18px「康」",
  430. "D/reports: div.name 15px「产品创新看板」",
  431. "D/reports: div.sub 11.5px「研发中心 · A」",
  432. "D/reports: span.lbl 13.5px「工作台」",
  433. "D/reports: span.en 10px「Workbenc」",
  434. "D/reports: span.lbl 13.5px「机会卡池」",
  435. "D/reports: span.en 10px「Opportun」",
  436. "D/reports: span.lbl 13.5px「五阶段产出」",
  437. "D/reports/competitor: span.mark 18px「康」",
  438. "D/reports/competitor: div.name 15px「产品创新看板」",
  439. "D/reports/competitor: div.sub 11.5px「研发中心 · A」",
  440. "D/reports/competitor: span.lbl 13.5px「工作台」",
  441. "D/reports/competitor: span.en 10px「Workbenc」",
  442. "D/reports/competitor: span.lbl 13.5px「机会卡池」",
  443. "D/reports/competitor: span.en 10px「Opportun」",
  444. "D/reports/competitor: span.lbl 13.5px「五阶段产出」",
  445. "D/reports/voc: span.mark 18px「康」",
  446. "D/reports/voc: div.name 15px「产品创新看板」",
  447. "D/reports/voc: div.sub 11.5px「研发中心 · A」",
  448. "D/reports/voc: span.lbl 13.5px「工作台」",
  449. "D/reports/voc: span.en 10px「Workbenc」",
  450. "D/reports/voc: span.lbl 13.5px「机会卡池」",
  451. "D/reports/voc: span.en 10px「Opportun」",
  452. "D/reports/voc: span.lbl 13.5px「五阶段产出」",
  453. "D/members: span.mark 18px「康」",
  454. "D/members: div.name 15px「产品创新看板」",
  455. "D/members: div.sub 11.5px「研发中心 · A」",
  456. "D/members: span.lbl 13.5px「工作台」",
  457. "D/members: span.en 10px「Workbenc」",
  458. "D/members: span.lbl 13.5px「机会卡池」",
  459. "D/members: span.en 10px「Opportun」",
  460. "D/members: span.lbl 13.5px「五阶段产出」",
  461. "D/ledger: span.mark 18px「康」",
  462. "D/ledger: div.name 15px「产品创新看板」",
  463. "D/ledger: div.sub 11.5px「研发中心 · A」",
  464. "D/ledger: span.lbl 13.5px「工作台」",
  465. "D/ledger: span.en 10px「Workbenc」",
  466. "D/ledger: span.lbl 13.5px「机会卡池」",
  467. "D/ledger: span.en 10px「Opportun」",
  468. "D/ledger: span.lbl 13.5px「五阶段产出」",
  469. "M/: span.short 10px「工作台」",
  470. "M/: span.badge 9.5px「9」",
  471. "M/: span.short 10px「卡池」",
  472. "M/: span.short 10px「阶段」",
  473. "M/: span.short 10px「报告」",
  474. "M/: span.badge.danger 9.5px「1」",
  475. "M/: span.short 10px「成员」",
  476. "M/: h1 17px「工作台」",
  477. "M/pool: span.short 10px「工作台」",
  478. "M/pool: span.badge 9.5px「9」",
  479. "M/pool: span.short 10px「卡池」",
  480. "M/pool: span.short 10px「阶段」",
  481. "M/pool: span.short 10px「报告」",
  482. "M/pool: span.badge.danger 9.5px「1」",
  483. "M/pool: span.short 10px「成员」",
  484. "M/pool: h1 17px「机会卡池」",
  485. "M/stages: span.short 10px「工作台」",
  486. "M/stages: span.badge 9.5px「9」",
  487. "M/stages: span.short 10px「卡池」",
  488. "M/stages: span.short 10px「阶段」",
  489. "M/stages: span.short 10px「报告」",
  490. "M/stages: span.badge.danger 9.5px「1」",
  491. "M/stages: span.short 10px「成员」",
  492. "M/stages: h1 17px「五阶段产出」",
  493. "M/reports: span.short 10px「工作台」",
  494. "M/reports: span.badge 9.5px「9」",
  495. "M/reports: span.short 10px「卡池」",
  496. "M/reports: span.short 10px「阶段」",
  497. "M/reports: span.short 10px「报告」",
  498. "M/reports: span.badge.danger 9.5px「1」",
  499. "M/reports: span.short 10px「成员」",
  500. "M/reports: h1 17px「报告中心」",
  501. "M/reports/competitor: span.short 10px「工作台」",
  502. "M/reports/competitor: span.badge 9.5px「9」",
  503. "M/reports/competitor: span.short 10px「卡池」",
  504. "M/reports/competitor: span.short 10px「阶段」",
  505. "M/reports/competitor: span.short 10px「报告」",
  506. "M/reports/competitor: span.badge.danger 9.5px「1」",
  507. "M/reports/competitor: span.short 10px「成员」",
  508. "M/reports/competitor: h1 17px「报告中心」",
  509. "M/reports/voc: span.short 10px「工作台」",
  510. "M/reports/voc: span.badge 9.5px「9」",
  511. "M/reports/voc: span.short 10px「卡池」",
  512. "M/reports/voc: span.short 10px「阶段」",
  513. "M/reports/voc: span.short 10px「报告」",
  514. "M/reports/voc: span.badge.danger 9.5px「1」",
  515. "M/reports/voc: span.short 10px「成员」",
  516. "M/reports/voc: h1 17px「报告中心」",
  517. "M/members: span.short 10px「工作台」",
  518. "M/members: span.badge 9.5px「9」",
  519. "M/members: span.short 10px「卡池」",
  520. "M/members: span.short 10px「阶段」",
  521. "M/members: span.short 10px「报告」",
  522. "M/members: span.badge.danger 9.5px「1」",
  523. "M/members: span.short 10px「成员」",
  524. "M/members: h1 17px「成员」",
  525. "M/ledger: span.short 10px「工作台」",
  526. "M/ledger: span.badge 9.5px「9」",
  527. "M/ledger: span.short 10px「卡池」",
  528. "M/ledger: span.short 10px「阶段」",
  529. "M/ledger: span.short 10px「报告」",
  530. "M/ledger: span.badge.danger 9.5px「1」",
  531. "M/ledger: span.short 10px「成员」",
  532. "M/ledger: h1 17px「证据台账」"
  533. ],
  534. "sizes": [
  535. "9px",
  536. "9.5px",
  537. "10px",
  538. "10.5px",
  539. "11px",
  540. "11.5px",
  541. "12px",
  542. "12.5px",
  543. "13px",
  544. "13.5px",
  545. "14px",
  546. "15px",
  547. "16px",
  548. "17px",
  549. "18px",
  550. "20px",
  551. "24px",
  552. "32px"
  553. ],
  554. "weights": [
  555. "400",
  556. "500",
  557. "550",
  558. "600",
  559. "650",
  560. "700",
  561. "800",
  562. "900"
  563. ],
  564. "shadowRaw": [
  565. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px, rgba(16, 24, 40, 0.1) 0px 8px 24px -12px",
  566. "rgba(255, 255, 255, 0.5) 0px 1px 0px 0px inset, rgba(36, 87, 214, 0.7) 0px 8px 20px -10px",
  567. "rgb(255, 255, 255) 0px 1px 0px 0px inset, rgba(26, 42, 80, 0.4) 0px 6px 16px -12px",
  568. "rgba(46, 125, 91, 0.15) 0px 0px 0px 3px",
  569. "rgba(255, 255, 255, 0.8) 0px 1px 0px 0px inset, rgba(16, 24, 40, 0.06) 0px 1px 2px 0px",
  570. "rgba(255, 255, 255, 0.3) 0px 1px 0px 0px inset",
  571. "rgba(18, 28, 52, 0.35) -24px 0px 60px -30px, rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset",
  572. "rgba(10, 20, 40, 0.6) 0px 18px 40px -18px",
  573. "rgba(16, 24, 40, 0.35) 0px -20px 48px -24px, rgba(255, 255, 255, 0.95) 0px 1px 0px 0px inset",
  574. "rgba(16, 24, 40, 0.12) 0px 1px 2px 0px, rgba(255, 255, 255, 0.18) 0px 1px 0px 0px inset",
  575. "rgba(255, 255, 255, 0.9) 0px 0px 0px 1.5px",
  576. "rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset",
  577. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.28) 0px 16px 32px -16px",
  578. "rgba(255, 255, 255, 0.3) 0px 1px 0px 0px inset, rgba(20, 58, 166, 0.8) 0px 8px 16px -10px",
  579. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px",
  580. "rgba(18, 32, 64, 0.12) 0px 1px 0px 0px inset"
  581. ],
  582. "shadowLevels": [
  583. "0px 1px 2px 0px a0.05 | 0px 8px 24px -12px a0.1",
  584. "0px 8px 20px -10px a0.7",
  585. "0px 6px 16px -12px a0.4",
  586. "0px 0px 0px 3px a0.15",
  587. "0px 1px 2px 0px a0.06",
  588. "",
  589. "-24px 0px 60px -30px a0.35",
  590. "0px 18px 40px -18px a0.6",
  591. "0px -20px 48px -24px a0.35",
  592. "0px 1px 2px 0px a0.12",
  593. "0px 0px 0px 1.5px a0.9",
  594. "0px 16px 32px -16px a0.28",
  595. "0px 8px 16px -10px a0.8",
  596. "0px 1px 2px 0px a0.05"
  597. ],
  598. "glass": {
  599. "shadow": "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px, rgba(16, 24, 40, 0.1) 0px 8px 24px -12px",
  600. "blur": "blur(28px) saturate(1.8)",
  601. "radius": "16px",
  602. "bg": "linear-gradient(rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.42)), linear-gradient(135deg, rgba(255, 255, 255, 0.95)"
  603. },
  604. "contrast": {
  605. "minMeta": {
  606. "dMeta": {
  607. "ratio": 99
  608. },
  609. "dAll": {
  610. "text": "康",
  611. "ratio": 3,
  612. "need": 3,
  613. "size": 18,
  614. "color": "rgb(255, 255, 255)",
  615. "where": "span.mark",
  616. "plate": true
  617. },
  618. "mAll": {
  619. "text": "?",
  620. "ratio": 3,
  621. "need": 3,
  622. "size": 13,
  623. "color": "rgb(255, 255, 255)",
  624. "where": "span.who",
  625. "plate": true
  626. }
  627. },
  628. "nD": 3164,
  629. "nM": 2846,
  630. "minD": {
  631. "text": "康",
  632. "ratio": 3,
  633. "need": 3,
  634. "size": 18,
  635. "color": "rgb(255, 255, 255)",
  636. "where": "span.mark",
  637. "plate": true
  638. },
  639. "minM": {
  640. "text": "?",
  641. "ratio": 3,
  642. "need": 3,
  643. "size": 13,
  644. "color": "rgb(255, 255, 255)",
  645. "where": "span.who",
  646. "plate": true
  647. },
  648. "under": [],
  649. "ink3min": {
  650. "ratio": 99
  651. }
  652. },
  653. "hover": {
  654. "transition": "all | 0s | ease",
  655. "transformBefore": "none",
  656. "rect": {
  657. "x": 573,
  658. "y": 147,
  659. "width": 611,
  660. "height": 126
  661. },
  662. "transform": "none",
  663. "shadow": "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px, rgba(16, 24, 40, 0.1)",
  664. "trans": {
  665. "transition": "all | 0.22s | cubic-bezier(0.4, 0, 0.2, 1)",
  666. "at": {
  667. "x": 452,
  668. "y": 451
  669. }
  670. },
  671. "liftHov": {
  672. "transform": "matrix(1.002, 0, 0, 1.002, 0, -2)",
  673. "x": 452,
  674. "y": 449
  675. },
  676. "liftAct": "matrix(1.002, 0, 0, 1.002, 0, -2)"
  677. },
  678. "liftBox": {
  679. "x": 452,
  680. "y": 451
  681. }
  682. },
  683. "shadowRaw": [
  684. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px, rgba(16, 24, 40, 0.1) 0px 8px 24px -12px",
  685. "rgba(255, 255, 255, 0.5) 0px 1px 0px 0px inset, rgba(36, 87, 214, 0.7) 0px 8px 20px -10px",
  686. "rgb(255, 255, 255) 0px 1px 0px 0px inset, rgba(26, 42, 80, 0.4) 0px 6px 16px -12px",
  687. "rgba(46, 125, 91, 0.15) 0px 0px 0px 3px",
  688. "rgba(255, 255, 255, 0.8) 0px 1px 0px 0px inset, rgba(16, 24, 40, 0.06) 0px 1px 2px 0px",
  689. "rgba(255, 255, 255, 0.3) 0px 1px 0px 0px inset",
  690. "rgba(18, 28, 52, 0.35) -24px 0px 60px -30px, rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset",
  691. "rgba(10, 20, 40, 0.6) 0px 18px 40px -18px",
  692. "rgba(16, 24, 40, 0.35) 0px -20px 48px -24px, rgba(255, 255, 255, 0.95) 0px 1px 0px 0px inset",
  693. "rgba(16, 24, 40, 0.12) 0px 1px 2px 0px, rgba(255, 255, 255, 0.18) 0px 1px 0px 0px inset",
  694. "rgba(255, 255, 255, 0.9) 0px 0px 0px 1.5px",
  695. "rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset",
  696. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.28) 0px 16px 32px -16px",
  697. "rgba(255, 255, 255, 0.3) 0px 1px 0px 0px inset, rgba(20, 58, 166, 0.8) 0px 8px 16px -10px",
  698. "rgba(255, 255, 255, 0.85) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px -1px 0px 0px inset, rgba(16, 24, 40, 0.05) 0px 1px 2px 0px",
  699. "rgba(18, 32, 64, 0.12) 0px 1px 0px 0px inset"
  700. ]
  701. }