/* --nav-h / --nav-right 由 index.js 实测胶囊按钮矩形后注入(见 utils/nav-metrics.js) */ .ui-nav { position:sticky; top:0; left:0; width:100%; z-index:var(--z-sticky); box-sizing:border-box; } .ui-nav--card { background:var(--color-bg-card); border-bottom:1rpx solid var(--color-divider); } .ui-nav--transparent { background:transparent; } .ui-nav__bar { position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--nav-h, 88rpx); padding:0 var(--spacing-2); } .ui-nav__back, .ui-nav__placeholder { width:64rpx; min-height:var(--tap-min); display:flex; align-items:center; justify-content:center; flex-shrink:0; min-width:var(--tap-min);} .ui-nav__back-icon { width:36rpx; height:36rpx; } /* 标题绝对居中:max-width 左右各让开一个胶囊安全区,因此 (1)文字精确居中于屏幕,不受返回键/右侧操作宽度影响; (2)不会伸到胶囊下面; (3)盒子只覆盖文字自身,不会挡住返回键与右侧 slot 的点击。 */ .ui-nav__title { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); max-width:calc(100% - 2 * var(--nav-right, 192rpx)); box-sizing:border-box; text-align:center; font-size:var(--font-size-lg); font-weight:var(--font-weight-semibold); color:var(--color-text-primary); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; } .ui-nav__right { flex-shrink:0; min-width:64rpx; /* 右侧操作整体左移到胶囊左侧,否则会被胶囊盖住点不到 */ padding-right:var(--nav-right, 0); display:flex; align-items:center; justify-content:flex-end; }