Skip to content

设计令牌

Moongate Vue 的所有样式都基于 CSS 变量(设计令牌)构建。你可以通过覆盖这些变量来定制主题。

颜色

主题色

变量说明浅色模式深色模式
--ui-primary主题色#0284c7#3b82f6
--ui-success成功色#059669#34d399
--ui-warning警告色#b45309#fbbf24
--ui-error错误色#b91c1c#f87171
--ui-highlight高亮色#0369a1#7dd3fc

文本颜色

变量说明浅色模式深色模式
--ui-text主要文本#0f172a#e2e8f0
--ui-text-dim次要文本#475569#cbd5e1
--ui-text-muted占位/禁用文本#475569#94a3b8
--ui-text-inactive非活跃文本#94a3b8#94a3b8

背景颜色

变量说明浅色模式深色模式
--ui-bg页面背景#f9fafb#0f172a
--ui-bg-elevated浮层背景(卡片/弹窗)#ffffff#131c31
--ui-bg-muted弱背景(表头/悬停)#f1f5f9#1e293b
--ui-bg-hover悬停背景(半透明)#0284c715#3b82f620
--ui-bg-active激活背景(半透明)#0284c725#3b82f640

边框颜色

变量说明浅色模式深色模式
--ui-border默认边框#cbd5e1#2d3748
--ui-border-dim弱边框#94a3b8#475569
--ui-border-hover悬停边框#0284c7#3b82f6
--ui-border-subtle极弱边框#cbd5e1#2d3748

语法高亮(代码块)

变量说明浅色模式深色模式
--ui-function函数#0369a1#87cefa
--ui-operator运算符#475569#475569
--ui-comment注释#475569#a5b4cb
--ui-variable变量#0f172a#e2e8f0
--ui-punctuation标点#94a3b8#94a3b8

括号颜色(配对标亮)

变量浅色模式深色模式
--ui-bracket1#0284c7#7dd3fc
--ui-bracket2#059669#34d399
--ui-bracket3#b45309#fbbf24
--ui-bracket4#7e22ce#c084fc
--ui-bracket5#0e7490#3b82f6
--ui-bracket6#94a3b8#94a3b8

Git 颜色

变量说明浅色模式深色模式
--ui-git-added新增#059669#34d399
--ui-git-modified修改#b45309#fbbf24
--ui-git-deleted删除#b91c1c#f87171
--ui-git-untracked未跟踪#94a3b8#94a3b8
--ui-git-ignored忽略#94a3b8#2d3748

间距

变量说明
--ui-spacing-xs4px极小间距
--ui-spacing-sm8px小间距
--ui-spacing-md12px中间距
--ui-spacing-lg16px大间距
--ui-spacing-xl24px超大间距
--ui-spacing-2xl32px2 倍大间距
--ui-spacing-3xl48px3 倍大间距

圆角

变量说明
--ui-radius-none0px无圆角(默认)
--ui-radius-sm2px小圆角

排版

字体

变量说明
--ui-typography-family-sansInter, system-ui, -apple-system, sans-serif无衬线字体
--ui-typography-family-mono'JetBrains Mono', 'Fira Code', monospace等宽字体(代码)

字号

变量说明
--ui-typography-size-body15px正文字号
--ui-typography-size-small12px小字号
--ui-typography-size-code13px代码字号

行高

变量说明
--ui-typography-line-height1.6正文行高
--ui-typography-line-height-code1.45代码行高

动效

时长

变量说明
--ui-motion-duration-neural150ms快速过渡(悬停、聚焦)
--ui-motion-duration-fluid300ms流畅过渡(面板展开)
--ui-motion-duration-lunar600ms慢速过渡(月晕效果)

缓动函数

变量说明
--ui-motion-easing-lunarcubic-bezier(0.25, 1, 0.5, 1)月晕缓动曲线

响应式断点

变量说明
--ui-breakpoints-mobile640px手机断点
--ui-breakpoints-tablet768px平板断点
--ui-breakpoints-desktop1024px桌面断点
--ui-breakpoints-wide1280px宽屏断点

层级

变量说明
--ui-z-index-base1基础层级
--ui-z-index-sticky100固定/粘性元素
--ui-z-index-overlay500遮罩层
--ui-z-index-modal1000模态框
--ui-z-index-tooltip1500提示层

物理效果

变量说明
--ui-physics-tidal-offset4px潮汐偏移量
--ui-physics-glow-alpha-night0.12暗色模式月晕透明度
--ui-physics-glow-alpha-dawn0.06亮色模式月晕透明度
--ui-physics-focus-ring2px聚焦环宽度
--ui-physics-border-crease1px边框折痕宽度

主题定制示例

css
:root {
  /* 修改主题色 */
  --ui-primary: #8b5cf6;

  /* 修改间距 */
  --ui-spacing-md: 16px;

  /* 修改字体 */
  --ui-typography-family-sans: "Noto Sans SC", system-ui, sans-serif;
}

/* 暗色模式定制 */
.dark {
  --ui-primary: #a78bfa;
  --ui-bg: #0a0a0a;
}

使用方式

vue
<style>
/* 在组件中使用设计令牌 */
.my-component {
  color: var(--ui-primary);
  padding: var(--ui-spacing-md);
  border: var(--ui-physics-border-crease) solid var(--ui-border);
  transition: all var(--ui-motion-duration-neural) var(--ui-motion-easing-lunar);
}
</style>

Released under the MIT License