sai-assets可复用网页资产库 GitHub

可复用网页资产库

主题配色、排版配方、网页动效、UI 组件 —— 每一包 = 入口 + 产物 + 配对规则 + 断言。 下面是它们真实运行的样子:卡片里跑的就是包内那份 preview/index.html。

Abyss Lab Record 暗黑实验记录

abyss-lab-recordv1.0.0

近黑底 + 工程网格 + 等宽 HUD + 单关键词橙,深色主叙事、纸面只做独立反转章节;面板全透明虚线检测框;适用:近黑非纯黑底 + 单层工程网格(body 一层,透明度 <=0.14,不压文字);标题无衬线 800-900,中文降一档;等宽管数据 HUD + tabular-nums;手写只做英文短句点缀;橙色只染单关键词/危险数值/选中态/光源,单屏 <=10%;面板全透明 + 1px 白线/虚线边框,检测框分静态虚线与描边流动两种;纸面只做独立 data-theme=light 反转章节(表单卡 + 墨字 + 单枚橙章);动效只动 transform/opacity 150-300ms,描边流动是唯一的描边动画且降级静止;mono 栈永不落回系统中文字体,裸 monospace/Menlo/Consolas 禁入生产栈

  • dark
  • theme
  • paper
  • mono

Minimalist Essential 极简 essentials

minimalist-essentialv1.0.1

删到不能再删:中性底 + 单强调色 + 8pt 网格 + 单列信息流;一屏一任务;适用:中性色做 90% 面积 + 1 个强调色只占 ≤10%,强调色只给主 CTA 与关键高亮;单无衬线家族 + ≤3 字重 + 等比字阶(12/14/16/20/24/32/48),Display 可用 clamp 流体;8pt 间距只用 4/8/16/24/32/48/64/96/128;section 上下只用 64/96/128(mobile 48/56/64);单列信息流 + 大负空间 + 少而大的图 + 零装饰;正文单列 max-width 600-720px;首屏只答 1 个问题 + 只给 1 个主 CTA(落地页唯一可双 CTA 例外);顶导 ≤5 项、深度 ≤3 层;超限进 mega / 着陆页 / 搜索 / 页脚;动效只动 transform/opacity:按压 100-150ms、切换 150-200ms、转场 200-300ms;内容多时靠折叠 + 搜索 + 本地导航 + 面包屑做密度极简,不靠留白最大化;留白占比 40-60% 是甜点,>75% 按空洞页返工

  • light
  • theme
  • grid
  • minimal

墨河 · 深色单色蓝(群青)

mohe-mono-bluev1.0.0

近黑冷蓝底 + 单一色相 218–223° 明度梯;唯一有彩光是强调色 #6891d9;卡片半透明浮在 WebGL 墨河背景上;竖排书脊刊头(汉字竖排做书脊);衬线标题 + 冷瓷白正文;适用:整套 UI 只用一个色相(背景的 218–223° 蓝),深度靠明度梯而非新色相;强调色取背景中光带同 hue 同饱和(h218 s52)再抬明度,别用高饱和电蓝;卡片半透明(rgba(12,22,44,.20))浮在背景上,让背景墨河透出来;分类色只用同色相的明度/微彩差(亮蓝/中蓝灰/近中性冷灰蓝/蓝),靠文字标签辨义;竖排书脊刊头:writing-mode:vertical-rl + text-orientation:upright,衬线 900 字重;深色底衬线标题可用,正文一律无衬线(衬线细体在深底会糊)

  • dark
  • theme
  • ink
  • blue

Slow Ride Cream 慢骑奶油

slow-ride-creamv1.0.0

暖奶油纸面 + 鼠尾草绿 + 番茄围巾,慢日子编辑风;拱形画框 + 双语微标签 + 一句文案;适用:纸面底色 + 深棕墨字,英文微标签全大写宽字距(如 MOTION STUDY — 001);标题中文大字 + 一句短文案 + 一句慢生活 caption(风很轻/慢慢向前);画框用拱形大圆角(rx 220 级)或通栏横幅,场景内画天空/沙丘/海带;插画扁平矢量 + 全图统一深色描边(约 3px),渐变只给天空和皮毛;太阳必带光晕圈,云 2-3 椭圆拼,点缀小花/石子/海鸥 m 形/帆船;番茄色围巾是唯一的动态强调色,随风飘;动效要慢:1.6-2s 循环,脚踏 IK + 辐条转 + 背景无缝滚动,必带暂停钮,尊重 prefers-reduced-motion;编号感:STUDY 001 / CLUB / ROUTE 之类的 catalog 标签

  • light
  • theme
  • paper
  • green

Swiss Classic(瑞士国际主义)

swiss-classicv1.0.0

暖米白纸底 + 暖黑 + 单一结构红;平涂无投影,靠明度差与发丝线造层次;适用:暖色纸白(#EDEBE6)与暖黑(#111111),绝不用纯 #000 / 冷灰;强调红只做线/编号/单块几何形,覆盖率 ≤3%,落在预留空白里;一屏只有一个饱和色相,红不填正文;层次靠 1px 发丝线 + 明度差(bgDeep 托 surface),不用投影/渐变;大面积留白(≥35–45%),成块成区;不对称构图:一侧文字、一侧几何形

  • light
  • theme
  • paper
  • red

Swiss Inverted(瑞士反色 / 暗色)

swiss-invertedv1.0.0

暖黑纸底 + 暖白墨 + 同一个结构红;纸↔墨互换,红保持不变 —— 同字体两种墨极性;适用:深色底用暖黑 #121212,绝不用纯 #000;纸暖白 #EDEBE6 当墨色(不是纯白 #FFF);层级仍靠明度差(surface 比 bg 亮一档)+ 发丝线,不用投影;红保持 #D8232A(反色时略提亮到 #E5544B 做小字链接以满足对比);深色底禁细体衬线(锯齿糊)

  • dark
  • theme
  • paper
  • ink

Tokyo Crime Dark 暖黑数据图

tokyo-crime-darkv1.0.0

暖黑底 #16130e 配暖色顺序带:深色底上把 ColorBrewer YlOrRd 整体提亮 15% 修对比(断点不动),深棕分隔线代替白描边;数据密集型地图/图表的深色方案。;适用:暖黑(#16130e 系)而非中性纯黑——配暖色带(YlOrRd/暖橙红)不发蓝、不发脏;顺序色带在深色底整体提亮 ~15%(逐通道 c+(255-c)*0.15),只深色生效;断点/档位/数据一字不改,保证跨主题同色=同危险度;深色底的地图分隔线用深棕 #3a3128,别用纯白——白线在暖黑上像网格噪点;无数据/无人口档单独给灰(#4a4238 / #55504a),别混进色带;顶栏按钮选中态反白改「强调色底 + 深字」(onAccent=bg),焦点环换成亮蓝 #7cc4ff 保证可见;localStorage 记住选择 + 默认浅色;切换不重建数据/不改断点,只重设色;深色独立调色,不把浅色 token 直接反相

  • dark
  • theme
  • warm
  • map

bg-fx · 十款 WebGL2 动态背景(共享引擎)

bg-fxv1.0.0

需要一块有机制、经得起近看的动态背景:首屏 hero、section 底、deck 封面、展厅墙。取用面 = 一份 engine.js(bloom → 径向色差 → 亮度门控颗粒 → smoothstep 暗角 → ACES → 三角抖动)+ 一个 concept(该效果的机制);参数只有 6 个通用旋钮(speed/bloom/exposure/grain/ca/vig)。性能口径:DPR 封顶(弱设备 1.25、桌面 1.75),场景按半分辨率、泛光按 1/4 分辨率,页隐藏(document.hidden)与离屏(IntersectionObserver)整帧跳过,回到前台按 delta clamp 续播。无障碍口径:prefers-reduced-motion 只渲染一帧静态画面(t=6.0),不做自动播放的循环动画。

  • webgl2
  • postfx
  • glsl
  • shader

three-fx · 三维特效两件(体波测地线盘 / 粒子黑洞)

three-fxv1.0.0

需要一块三维、有物理感的空间效果:体波测地线盘(three.js 实时渲染体积薄盘,可拖转环视、面板 19 个参数)或粒子黑洞(Canvas2D 纯粒子吸积盘 + 引力吸入,零 WebGL 依赖,8 组盘样式预设)。适合展厅墙、deck 封面、科幻/暗色主题的首屏,以及需要「可被人拖着看」的三维玩具。取用面:体波 = src/blackhole-waves.js + upstream/three.module.js(1.3MB);粒子 = src/blackhole-particles.js(零依赖,两个文件各自独立,互不 import)。性能口径:体波 renderer.setPixelRatio 封顶 1.75、按「画质」参数降到 1.2;粒子 DPR 封顶 2;两者都是 rAF 循环,页隐藏时由浏览器自动停帧,帧间隔 dt 封顶 0.05s 防回前台跳帧;粒子密度/测地线步数(steps)是主要开销旋钮。无障碍口径:两个效果都没有内置 prefers-reduced-motion 分支(见 docs/usage.md §无障碍 的补丁片段),动效强烈,必须在页面层自己加停帧开关。

  • webgl2
  • threejs
  • canvas2d
  • particles

Swiss Style · 国际主义平面设计风格(版式与构件)

swiss-stylev1.0.0

瑞士 / 国际主义风格的版式与构件:可推导的模块网格(12 栏 + 8pt 基线 + 复合网格)、直角平涂控件、五套版式骨架(海报/deck/跨页/报告封面/落地 hero)、Isotype 与 small multiples 图元;配色由主题包 swiss-classic / swiss-inverted 提供,本包只给版式与构件

  • swiss
  • international-typographic-style
  • grid
  • 12-column

Video Motion · mv-studio(外部包 · 只索引)

video-motionv1.0.0

要把一首歌排成一支「印刷质感」的 MV / 歌词影像时:该工程的 16 个 archetype 覆盖开场标题板、最响的标题行、单张照片推镜、剪贴簿拼贴、动态歌词排版、单据清单、印章、表盘、纸片倾泻、静态诗行(含竖排)、注解图、对白气泡、真实音频频谱、圆形遮罩过场、结尾署名板与兜底占位;riso 风格包给整套四色孔版印刷外观(四色专色 + 暖色纸 + 半调网点 + 故意套印错位 + 点阵字);beat / motion 库把节拍网格与摄影机关键帧接到镜头上。要网页动效或 CSS 片段时不要来这里。

  • video-motion
  • remotion
  • index-only
  • external