/* Kole UI Mobile · TabBar 样式 — 对齐移动端规格 §2 底部标签栏:固定于页面底部,50px + 底部安全区;每项点击热区等分整栏宽度且高度 ≥ 44px。 */ .kole-m-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; box-sizing: border-box; height: calc(var(--kole-m-tabbar-height) + var(--kole-m-safe-bottom)); padding-bottom: var(--kole-m-safe-bottom); background: var(--kole-color-card-bg); border-top: 1px solid var(--kole-color-border); font-family: var(--kole-font-family); } .kole-m-tabbar__item { position: relative; flex: 1 1 0; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; box-sizing: border-box; min-height: var(--kole-m-touch-target); padding: var(--kole-space-4) 0; border: 0; background: transparent; color: var(--kole-color-text-secondary); font-family: inherit; font-size: var(--kole-m-font-size-caption); line-height: 1.2; cursor: pointer; touch-action: manipulation; } .kole-m-tabbar__item:focus-visible { outline: 2px solid var(--kole-color-focus-ring); outline-offset: -2px; } .kole-m-tabbar__item:active { background: var(--kole-color-brand-bg); } .kole-m-tabbar__item.is-active { color: var(--kole-color-brand); } .kole-m-tabbar__item:disabled, .kole-m-tabbar__item.is-disabled { color: var(--kole-color-text-disabled); cursor: not-allowed; } .kole-m-tabbar__item:disabled:active { background: transparent; } .kole-m-tabbar__icon { display: block; width: var(--kole-icon-size-20); height: var(--kole-icon-size-20); } .kole-m-tabbar__label { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* 角标:number 形态显示数字,dot 形态只显示红点 */ .kole-m-tabbar__badge { position: absolute; top: 2px; inset-inline-start: 50%; margin-inline-start: 2px; box-sizing: border-box; min-width: 16px; height: 16px; padding: 0 var(--kole-space-4); border-radius: 8px; background: var(--kole-color-error); color: var(--kole-color-text-inverse); font-family: var(--kole-font-family-num); font-size: 10px; line-height: 16px; text-align: center; } .kole-m-tabbar__badge.is-dot { min-width: 8px; width: 8px; height: 8px; padding: 0; border-radius: 50%; }