Files
2026-09-15 16:01:59 +08:00

95 lines
1.8 KiB
Plaintext

/** v2 导航:透明 → 滚动后毛玻璃,大标题在页面内容区 **/
.nav-root {
position: relative;
flex: none;
}
.nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 40;
border-bottom: 1rpx solid transparent;
transition: background .3s cubic-bezier(.32, .72, 0, 1), border-color .3s cubic-bezier(.32, .72, 0, 1);
}
.nav.is-glass {
background: var(--glass, rgba(255, 255, 255, .72));
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
border-bottom-color: var(--hairline, rgba(0, 0, 0, .08));
}
.nav-bar {
position: relative;
height: 88rpx;
display: flex;
align-items: center;
padding-left: 40rpx;
}
.nav-left {
display: flex;
align-items: center;
}
.nav-back {
width: 68rpx;
height: 68rpx;
margin-left: -14rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--ink, #0A0A0A);
transition: background .16s cubic-bezier(.32, .72, 0, 1), transform .16s cubic-bezier(.32, .72, 0, 1);
}
.nav-back .icon {
width: 38rpx;
height: 38rpx;
}
.nav-press {
background: var(--fill, rgba(120, 120, 128, .07));
transform: scale(.94);
}
.nav-title {
position: absolute;
left: 50%;
bottom: 0;
height: 88rpx;
transform: translateX(-50%);
display: flex;
align-items: center;
max-width: 320rpx;
font-size: 32rpx;
font-weight: 600;
letter-spacing: -.005em;
opacity: 0;
transition: opacity .26s cubic-bezier(.32, .72, 0, 1);
pointer-events: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nav-title.is-on {
opacity: 1;
}
.nav-right {
margin-left: auto;
display: flex;
align-items: center;
gap: 16rpx;
}
/* 悬浮导航不参与文档流,用等高占位撑开内容(高度由内联样式给出) */
.nav-holder {
width: 100%;
flex: none;
}