栅格对齐引擎
所有卡片落在 12 列轨道,跨列只允许 3/4/5/6/7/8/12,禁止 1/2 列这类不可读的窄轨。
从钱包助记词引导、链上资产看板到企业级联盟链控制台,我们以严谨的栅格系统与半调网点视觉母题, 让开发者在 320px 到 2560px 的每一块屏幕上都能被稳稳接住——响应式设计不是适配,而是一种陪伴。
我们在三条真实业务线(钱包、链上数据看板、企业联盟链)中收敛出这套规则:所有模块都落在 12 列栅格的整数轨道上,间距只允许取 4/8pt 节奏值。
栅格样例 · 12 列
桌面 12 列、平板 8 列、手机 4 列;列间距跟随 --gutter 在 14–30px 之间弹性伸缩,卡片永远贴轨道,杜绝肉眼可见的「差 3px」。
用 radial-gradient 1.2px / 14px 铺出网点层,再以 mask 淡出,模拟链上数据「一粒一粒被确认」的节奏,避免大面积高饱和铺色。
确认中 / 已确认 / 失败三态分别用中性灰、主色描边、暖橙强调,色相差 ≥ 120°,色盲用户也能靠明度区分,符合用户体验优化的可达性要求。
每一步都留下可回溯的产出物与量化门槛,让「灵感闪耀」不至于停在白板上。
用卡片法把业务拆成 ≤ 7 个一级模块,画出 12 列栅格的模块落位图;每个模块标注最小可用宽度,例如资产卡 ≥ 280px、交易表 ≥ 560px。
先定间距、圆角、阴影、字号四类令牌,再写组件;约定组件内不得出现裸数值,间距必须引用 --sp-1…--sp-8。
在 320 / 380 / 640 / 1024 / 1600 / 2560 六档逐一验证;重点检查横向溢出与点按区,移动端所有可点元素高度 ≥ 44px。
RPC 超时设 4s,超时后展示最近一次缓存快照并标注时间;余额用等宽数字,避免刷新时列宽抖动。
所有卡片落在 12 列轨道,跨列只允许 3/4/5/6/7/8/12,禁止 1/2 列这类不可读的窄轨。
锚点滚动带 64px 顶部偏移,保证吸顶提示条不遮标题,长页面也能一眼定位。
助记词备份拆成 3 屏,每屏只讲一件事;危险操作二次确认按钮与取消按钮间距 ≥ 16px,防误触。
大数字用 tabular-nums,涨跌用暖橙强调色小面积点亮;色块面积控制在卡片 10% 以内。
企业联盟链后台按角色隐藏而非禁用入口,减少 40% 以上的无效点击与误操作投诉。
桌面、平板、手机共用同一组件库;差异只体现在列数与间距令牌,不重写业务样式。
三档都包含响应式栅格规范与样式令牌;差异在于协作深度、交付频率与是否包含链上数据联调。
每条都给出做法、阈值或避坑点,照着改完再上线,能挡掉大部分「换个手机就错位」的返工。
固定四档:380 / 640 / 1024 / 1600,超大屏再加 2200。画稿前先写 min-width 断点表,避免中途加断点导致整套栅格重排。避坑:不要在 768px 与 800px 同时设断点,二者语义重叠。
写 grid-template-columns:repeat(12,minmax(0,1fr)),并给所有 flex/grid 子项加 min-width:0。避坑:用 minmax(280px,1fr) 会在 320px 屏直接横向溢出,长英文链名与哈希值必须配 overflow-wrap:break-word。
外层用 aspect-ratio 定比例(Hero 4/3、资讯 16/9、图集 3/2),图片写 object-fit:cover,可避免加载后布局跳动(CLS 目标 < 0.1)。避坑:直接给 img 写百分比高度会塌陷。
移动端按钮最小高度 44px,危险操作的「确认 / 取消」横向间距不少于 16px。避坑:把整行做成可点却在内部放小图标,用户手指按不到热区,误触率会明显上升。
RPC 超时阈值设 4s,超时展示最近快照并标注「数据可能滞后」;骨架占位用与卡片同高的灰块。避坑:加载时用 0 占位,会让用户误以为资产清零,是体验投诉高发点。
入场动效写成 @keyframes + animation,元素默认就是终态,靠 animation-delay 错峰;并在 prefers-reduced-motion:reduce 下把时长压到 0.001ms。避坑:不要用 opacity:0 等 JS 加类,一旦脚本失败整块内容永久不可见。
我们习惯把每次改动都写清「改了什么、为什么、影响了哪些断点」,方便协作方快速接手。






