diff --git a/web/navi.css b/web/navi.css index cc8f0f4..6e2fcb3 100644 --- a/web/navi.css +++ b/web/navi.css @@ -586,6 +586,63 @@ html[data-theme] .minimal-headings-row .headings { scroll-snap-align: start; } +/* ── mini 页顶部页签:与搜索栏/浮动件同一套玻璃质感 ── + 此前这里只有尺寸与圆角、没有底色/边框/模糊,导致顶部一排与页面其它 + 玻璃面(dock、搜索栏、卡片容器)质感严重不符、看着"割裂"。 */ +html[data-theme] .minimal-headings-row .headings { + background: rgba(255, 255, 255, .72) !important; + border: 1px solid rgba(255, 255, 255, .9) !important; + box-shadow: 0 14px 38px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .95) !important; + backdrop-filter: blur(22px) saturate(180%) !important; + -webkit-backdrop-filter: blur(22px) saturate(180%) !important; + transition: background .2s ease, transform .22s cubic-bezier(.22, 1, .36, 1) !important; +} + +/* 当前选中的页签:底色更实 + 一圈内描边,保持可辨识但不破坏玻璃感 */ +html[data-theme] .minimal-headings-row .headings.active, +html[data-theme] .minimal-headings-row .headings[aria-selected="true"], +html[data-theme] .minimal-headings-row .headings.selected { + background: rgba(255, 255, 255, .9) !important; + box-shadow: 0 16px 40px rgba(15, 23, 42, .18), inset 0 0 0 1px rgba(15, 23, 42, .08), + inset 0 1px 0 rgba(255, 255, 255, 1) !important; +} + +/* 左右翻页按钮同样上玻璃,否则它们在页签旁边像两块"素片" */ +html[data-theme] .minimal-headings-wrap .tab-scroll-btn { + background: rgba(255, 255, 255, .72) !important; + border: 1px solid rgba(255, 255, 255, .9) !important; + box-shadow: 0 10px 26px rgba(15, 23, 42, .14), inset 0 1px 0 rgba(255, 255, 255, .95) !important; + backdrop-filter: blur(18px) saturate(170%) !important; + -webkit-backdrop-filter: blur(18px) saturate(170%) !important; + color: inherit !important; +} +html[data-theme] .minimal-headings-wrap .tab-scroll-btn:disabled { + opacity: .45 !important; +} + +/* 深色模式:同一配方换成深色玻璃(与 dock/页脚一致),避免深色下反而发白刺眼 */ +html.navi-dark[data-theme] .minimal-headings-row .headings { + background: rgba(20, 31, 49, .78) !important; + border: 1px solid rgba(148, 163, 184, .22) !important; + box-shadow: 0 14px 38px rgba(2, 6, 23, .45), inset 0 1px 0 rgba(148, 163, 184, .18) !important; +} +html.navi-dark[data-theme] .minimal-headings-row .headings.active, +html.navi-dark[data-theme] .minimal-headings-row .headings[aria-selected="true"], +html.navi-dark[data-theme] .minimal-headings-row .headings.selected { + background: rgba(30, 44, 68, .92) !important; +} +html.navi-dark[data-theme] .minimal-headings-wrap .tab-scroll-btn { + background: rgba(20, 31, 49, .78) !important; + border: 1px solid rgba(148, 163, 184, .22) !important; + box-shadow: 0 10px 26px rgba(2, 6, 23, .5), inset 0 1px 0 rgba(148, 163, 184, .18) !important; +} + +/* 尊重"减少动画"偏好 */ +@media (prefers-reduced-motion: reduce) { + html[data-theme] .minimal-headings-row .headings { transition: none !important; } +} + + html[data-theme] .minimal-headings-row .headings .section-title { font-size: 15px !important; line-height: 1.2 !important;