结构 · 12 LINES
<div class="sr-bar"><span class="q">版式 入门 书籍</span><span class="tag">搜索</span></div>
<div class="sr-lay">
<div class="facets">
<div class="f">类型</div><a class="cur">全部</a><a>书籍</a><a>文章</a><a>视频</a>
<div class="f">时长</div><a>≤ 10 分</a><a>10–30 分</a>
</div>
<div class="sr">
<div class="r"><div class="u">layout-atlas.namooca.com</div><div class="t">给初学者的 10 本版式书</div><div class="d">从《平面设计中的网格系统》到《风格练习》……</div></div>
<div class="r"><div class="u">example.com</div><div class="t">版式入门:先学栅格还是先学字体?</div><div class="d">答案是同时,但用不同的练习。本文给出一份 30 天……</div></div>
<div class="r"><div class="u">books.example.cn</div><div class="t">书单 · 构图与网格七种</div><div class="d">含一手文献与中译本对照……</div></div>
</div>
</div>
样式 · 本 demo 自定义 10 LINES + 共享令牌类
/* ═══ 本 demo 自定义样式 ═══ */
.sr-bar { display: flex; gap: 10px; margin-bottom: 14px; }
.sr-bar .q { flex: 1; border-bottom: 1.5px solid var(--ink); padding: 7px 2px; font-size: 13px; color: var(--ink-2); }
.sr-lay { display: grid; grid-template-columns: 130px 1fr; gap: 22px; }
.facets .f { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; color: var(--ink-3); margin: 12px 0 6px; text-transform: uppercase; }
.facets a { display: block; font-size: 12px; color: var(--ink-2); padding: 3px 0; }
.facets a.cur { color: var(--accent); }
.sr .r { margin-bottom: 16px; }
.sr .r .u { font-family: var(--mono); font-size: 10px; color: var(--ink-3); }
.sr .r .t { color: var(--accent); font-size: 14px; margin: 2px 0; }
.sr .r .d { font-size: 12px; color: var(--ink-2); }
/* ═══ 共享令牌类 · demo 外壳已内置 ═══ */
.blk {
background: color-mix(in srgb, var(--ink) 4%, transparent);
border: 1px solid var(--line); border-radius: 2px;
display: grid; place-items: center;
font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; color: var(--ink-2);
padding: 10px; min-height: 34px;
}
.blk.acc {
background: color-mix(in srgb, var(--accent) 12%, transparent);
border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent);
}
.blk.ink { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.tag {
display: inline-block; font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
border: 1px solid var(--line); color: var(--ink-2); padding: 2px 8px;
border-radius: 2px; background: var(--paper-2);
}
.card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; }
.card .cv { aspect-ratio: 16/10; background: color-mix(in srgb, var(--accent) 10%, var(--paper-2)); border-bottom: 1px solid var(--line); }
.card .bd { padding: 9px 10px; }
.card .bd .t { font-weight: 600; font-size: 12.5px; }
.card .bd .m { font-family: var(--mono); font-size: 10px; color: var(--ink-3); margin-top: 2px; }
.avatar {
width: 34px; height: 34px; border-radius: 50%; flex: none;
background: color-mix(in srgb, var(--accent) 22%, var(--paper-2)); border: 1px solid var(--line);
}
.fake-text { height: 8px; background: color-mix(in srgb, var(--ink) 10%, transparent); border-radius: 1px; }
.fake-text.w60 { width: 60%; } .fake-text.w80 { width: 80%; } .fake-text.w40 { width: 40%; }
.fake-text + .fake-text { margin-top: 6px; }