/* Kole UI Mobile · NavBar 样式 — 对齐 .design_library/kole-ui-mobile/spec/移动端规格.md §1 顶部导航栏:固定于页面顶部,高度 44px + 顶部安全区;返回/操作点击热区 ≥ 44×44。 令牌:颜色/字体/圆角继承 PC(--kole-*),触控与安全区取移动端令牌(--kole-m-*)。 */ .kole-m-navbar { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; gap: var(--kole-space-8); box-sizing: border-box; height: calc(var(--kole-m-navbar-height) + var(--kole-m-safe-top)); padding-top: var(--kole-m-safe-top); padding-inline: var(--kole-space-8); background: var(--kole-color-card-bg); color: var(--kole-color-text-title); font-family: var(--kole-font-family); border-bottom: 1px solid transparent; transition: box-shadow var(--kole-duration-base) var(--kole-ease-standard), border-color var(--kole-duration-base) var(--kole-ease-standard); } /* 变体 elevated=true:滚动后出现分隔线与投影 */ .kole-m-navbar.is-elevated { border-bottom-color: var(--kole-color-border); box-shadow: var(--kole-shadow-low); } .kole-m-navbar__back { display: inline-flex; align-items: center; justify-content: center; gap: var(--kole-space-4); min-width: var(--kole-m-touch-target); min-height: var(--kole-m-touch-target); margin-inline-start: calc(-1 * var(--kole-space-4)); padding: 0 var(--kole-space-4); border: 0; border-radius: var(--kole-radius-base); background: transparent; color: var(--kole-color-text-body); font-family: inherit; font-size: var(--kole-m-font-size-body); line-height: 1; cursor: pointer; touch-action: manipulation; } .kole-m-navbar__back:hover { color: var(--kole-color-brand); } .kole-m-navbar__back:focus-visible { outline: 2px solid var(--kole-color-focus-ring); outline-offset: 2px; } .kole-m-navbar__back:active { background: var(--kole-color-brand-bg); } .kole-m-navbar__title { flex: 1 1 auto; min-width: 0; margin: 0; font-size: var(--kole-m-font-size-title); font-weight: 500; line-height: 1.3; color: var(--kole-color-text-title); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* 变体 titleAlign:center(标题居中,两侧等宽占位)/ left(标题紧跟返回) */ .kole-m-navbar--center .kole-m-navbar__title { text-align: center; } .kole-m-navbar--left .kole-m-navbar__title { text-align: start; padding-inline-start: var(--kole-space-4); } .kole-m-navbar__actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--kole-space-4); min-width: var(--kole-m-touch-target); } .kole-m-navbar__action { display: inline-flex; align-items: center; justify-content: center; min-width: var(--kole-m-touch-target); min-height: var(--kole-m-touch-target); padding: 0 var(--kole-space-8); border: 0; border-radius: var(--kole-radius-base); background: transparent; color: var(--kole-color-brand); font-family: inherit; font-size: var(--kole-m-font-size-label); cursor: pointer; touch-action: manipulation; } .kole-m-navbar__action:focus-visible { outline: 2px solid var(--kole-color-focus-ring); outline-offset: 2px; } .kole-m-navbar__action:active { background: var(--kole-color-brand-bg); } .kole-m-navbar__action:disabled, .kole-m-navbar__action.is-disabled { color: var(--kole-color-text-disabled); cursor: not-allowed; }