XNexus

组件展示

前台所有界面组件的活文档。这里用的是真实类名,不是截图: 组件改了样式,这一页跟着变;这一页显示正常,真实页面就一定正常。

命名规则 ui-<block>__<element>--<modifier> · 颜色与间距一律取自 --ui-* 令牌,不写死色值 · 深色主题在右上角切换

设计令牌

颜色、间距、圆角、字体全部定义在 frontend/tokens.css。 组件只引用语义变量,所以深色主题只需要覆盖变量,不重写任何组件规则。

品牌与状态色

品牌 --ui-brand
品牌浅底 --ui-brand-soft
成功 --ui-success
警告 --ui-warning
危险 --ui-danger
页面底色 --ui-canvas
卡片底色 --ui-surface
浅层底色 --ui-surface-subtle
描边 --ui-border
正文 --ui-text

字号阶梯

首页主标题 --ui-text-3xl · 40px
页面标题 --ui-text-2xl · 28px
区块标题 --ui-text-xl · 22px
列表标题 --ui-text-lg · 18px
文章正文 --ui-text-md · 16px
界面正文 --ui-text-base · 15px
辅助说明 --ui-text-sm · 13px
时间与计数 --ui-text-xs · 12px

间距与圆角

4px 8px 12px 16px 24px 32px
xs sm md lg pill

按钮

主要动作用 --primary,其余一律默认样式;危险操作配 --danger。

.ui-btn / --primary / --ghost / --danger

带图标 · 尺寸 · 整行

链接按钮

标签与徽标

.ui-tag 是分类 / 标签云,可点击; .ui-badge 是只读状态标记,不响应当前状态。

.ui-tag / --current(当前筛选项)

.ui-badge / --brand / --success / --warning / --danger

草稿 已发布 运行中 待处理 已停用

表单

输入框、下拉、文本域共用一套描边与聚焦环;说明文字统一用 .ui-field__hint。

.ui-input / .ui-select / .ui-textarea

显示在文章列表与页面的 <title> 里。

标识只能用字母、数字和短横线。

.ui-inline-field(搜索框)

卡片与面板

.ui-card 带标题栏,用于成组内容; .ui-panel 只有边框,用于一段独立说明。

.ui-card

最近更新

共 24 篇

卡片头放标题与辅助信息,卡体放内容。表格型内容用 __body 以外的布局时可自行去内边距。

文章列表

列表项由 partials/post-item.blade.php 渲染,首页、分类、标签、搜索共用同一个组件。

.ui-post-list / .ui-post

.ui-archive__group(归档时间线)

正文排版

Markdown 渲染结果放进 .ui-prose,标题、列表、引用、代码、表格全部由它接管。

.ui-prose

二级标题

正文段落,包含 加粗、斜体、 链接 与 行内代码。

三级标题

  • 无序列表第一项
  • 无序列表第二项
  1. 有序列表第一项
  2. 有序列表第二项

引用块用于摘录与旁注,左边一条品牌色竖线。

php artisan route:list
// 代码块右上角会出现「复制」按钮
令牌用途
--ui-text正文与标题
--ui-text-soft摘要与说明

分隔线之后仍可继续。

分页

组件 partials/pager.blade.php,接收 $paginator,页码与当前页由它自己判断。

.ui-pager(58 条 / 每页 10 条 / 当前第 3 页)

提示与状态

区块内的提示用 .ui-alert;整页无内容用 .ui-empty-state; 单行说明用 .ui-empty。

.ui-alert / 可关闭

这是一条普通提示,可以关掉。
发布成功。
该分类下还有 3 篇文章,删除前请先移走。
保存失败:标识已被占用。

.ui-empty-state

还没有文章

登录后台写第一篇,发布后这里就会列出来。

.ui-empty(单行)

还没有文章,登录后台写第一篇。

.ui-fallback(404 / 整备中)

404

页面不存在

地址可能写错了,或内容已经移除。

标签页与弹窗

这两类组件需要脚本配合,行为在 js/frontend/modules/demo.js; 原生 <dialog> 自带焦点管理与 Esc 关闭,不需要第三方弹窗库。

标签页(点击切换)

「全部」面板:共 24 篇文章。

弹窗(<dialog>)

确认删除?

删除后不可恢复,相关标签关联会一并移除。

图标

统一走 <x-icon name="…" />:24×24 线性描边,颜色继承 currentColor, 不引图标字体,也不从 CDN 下载。

常用图标(完整清单见 components/icon.blade.php)

dashboard
article
folder
tag
tool
users
shield
key
sliders
settings
search
calendar
clock
eye
inbox
check
plus
edit
trash
image
link
code
table
columns
chevron-left
chevron-right
chevron-down
arrow-left
external
menu
close
moon
sun
user
lock
logout

尺寸与颜色继承

颜色取自父级 color