Files
tamabox/static/css/themes/shiroko.css
T
tamakyi 2f2e00ad65 theme(shiroko): 装饰改为「半隐在卡片后」的单人 + 接触阴影
按选定方向收敛:

- 只留 sit 一个角色,左移 515px 让右侧约 40px 钻进卡片底下(卡片定宽 750 居中,
  左沿 = 50% - 375px),被卡片挡掉一部分才有空间关系,不再浮在留白中间;
- 离底边 26px(脚踩最后一像素像被裁掉),配一层椭圆径向渐变当接触阴影,避免悬空;
- 纹样透明度 0.13 → 0.085(深色 0.09 → 0.055),图案 url 补 ?v=;
- 收掉另外三个人物与第一层半透明立绘;
- StaticVersion → 20261019p
2026-10-19 21:43:44 +08:00

113 lines
5.0 KiB
CSS

/* 砂狼白子(shiroko):阿拜多斯学园的灰蓝/银白配色。
只覆盖令牌与外观层面的组件微调,不改任何布局。
素材(static/images/themes/shiroko/):
- chibi/*.webp Q 版人物(wave/cheer/think/doze/sit),以用户立绘为参考图生成 + 抠白底
- pattern.svg / pattern-dark.svg 雪花 + 光环的极淡平铺纹样
来源、提示词与抠图参数见 docs/theme-shiroko.md。 */
html[data-theme-style="shiroko"] {
--tb-bg: #edf2f8;
--tb-surface: #ffffff;
--tb-surface-2: #e5ecf5;
--tb-surface-hover: #eaf1f9;
--tb-navbar: #edf2f8;
--tb-border: #d6e0ec;
--tb-text: #222d3b;
--tb-text-secondary: #51607a;
--tb-text-muted: #8794a7;
--tb-primary: #4a7fc1;
--tb-primary-weak: rgba(74, 127, 193, 0.11);
--tb-shadow: 0 1px 2px rgba(38, 56, 82, 0.05), 0 12px 28px -18px rgba(38, 56, 82, 0.24);
--tb-shadow-hover: 0 1px 2px rgba(38, 56, 82, 0.07), 0 18px 40px -20px rgba(38, 56, 82, 0.32);
/* 整页底色用极浅的竖向渐变(纯 CSS):比图片稳,不会有 cover 缩放差异 */
--tb-page-image: linear-gradient(180deg, #f8fbfe 0%, #edf3f9 58%, #e2ecf6 100%);
--tb-page-pattern: url("/static/images/themes/shiroko/pattern.svg?v=20261019p");
--tb-page-pattern-size: 340px 340px;
/* 装饰层:一个人半隐在卡片左侧后面。
卡片是 750px 定宽居中,左沿 = 50% - 375px;人物宽约 177px,左移 515px 就有 40px
钻进卡片底下 —— 被卡片挡住一部分,才有「站在内容后面」的空间关系,而不是浮在留白里。
离底边 26px:踩在浏览器的最后一行像素上会像被裁掉。
右下角不能放人 —— 页脚文案右对齐(社区规则 / 备案号),会和人物挤在一起。 */
--tb-deco: url("/static/images/themes/shiroko/chibi/sit.webp"),
radial-gradient(ellipse at center, rgba(63, 96, 138, 0.22) 0%, rgba(63, 96, 138, 0) 72%),
none,
none,
none,
none;
--tb-deco-size: auto 340px, 128px 15px, auto, auto, auto, auto;
--tb-deco-position: left max(6px, calc(50% - 515px)) bottom 26px,
left max(6px, calc(50% - 487px)) bottom 19px, left top, left top, left top, left top;
}
html[data-theme="dark"][data-theme-style="shiroko"] {
--tb-bg: #141a22;
--tb-surface: #1d2530;
--tb-surface-2: #273140;
--tb-surface-hover: rgba(111, 163, 224, 0.12);
--tb-navbar: #141a22;
--tb-border: #334052;
--tb-text: #e3eaf4;
--tb-text-secondary: #a6b4c8;
--tb-text-muted: #77869b;
--tb-primary: #6fa3e0;
--tb-primary-weak: rgba(111, 163, 224, 0.16);
--tb-shadow: 0 1px 2px rgba(0, 0, 0, 0.34), 0 12px 28px -18px rgba(0, 0, 0, 0.58);
--tb-shadow-hover: 0 1px 2px rgba(0, 0, 0, 0.40), 0 18px 40px -20px rgba(0, 0, 0, 0.68);
--tb-page-image: linear-gradient(180deg, #161d26 0%, #141a22 60%, #11161d 100%);
--tb-page-pattern: url("/static/images/themes/shiroko/pattern-dark.svg?v=20261019p");
--tb-page-pattern-size: 340px 340px;
/* 深色下人物整体关掉:浅色立绘在深底上会变成一块块亮斑,抢正文 */
--tb-deco: none, none, none, none, none, none;
--tb-deco-size: auto, auto, auto, auto, auto, auto;
--tb-deco-position: left top, left top, left top, left top, left top, left top;
}
/* 卡片最宽 750px,两侧留白在 1000px 以下已经放不下整个人物,
这时缩小并靠近边缘,让人物被卡片挡住一部分(读作「站在卡片后面」,比硬挤在留白里自然) */
@media (max-width: 1179px) {
html[data-theme-style="shiroko"] {
--tb-deco-size: auto 280px, 104px 12px, auto, auto, auto, auto;
--tb-deco-position: left max(6px, calc(50% - 481px)) bottom 22px,
left max(6px, calc(50% - 457px)) bottom 16px, left top, left top, left top, left top;
}
}
/* 窄屏卡片占满宽度,两侧没有视觉空间:人物退场,只留底色与纹样,顺带省掉 60KB 图片请求 */
@media (max-width: 900px) {
html[data-theme-style="shiroko"] {
--tb-deco: none, none, none, none, none, none;
--tb-page-pattern-size: 260px 260px;
}
}
/* 组件微调(仅外观) */
/* 白卡片压在近白底色上几乎看不出边界,补一圈 1px 冷调描边把它托起来(box-shadow 不占布局) */
html[data-theme-style="shiroko"] .uk-card-default {
box-shadow: 0 0 0 1px rgba(74, 127, 193, 0.12), var(--tb-shadow);
}
html[data-theme-style="shiroko"] .uk-card-default.uk-card-hover:hover {
box-shadow: 0 0 0 1px rgba(74, 127, 193, 0.18), var(--tb-shadow-hover);
}
html[data-theme="dark"][data-theme-style="shiroko"] .uk-card-default {
box-shadow: 0 0 0 1px rgba(111, 163, 224, 0.14), var(--tb-shadow);
}
/* 顶栏融进页面底色后,UIkit 默认的 #999 在灰蓝底上偏淡,提到次要文字色 */
html[data-theme-style="shiroko"] .uk-navbar-nav > li > a {
color: var(--tb-text-secondary);
}
html[data-theme-style="shiroko"] .uk-navbar-nav > li > a:hover {
color: var(--tb-primary);
}