玻璃导航

nav · glass-apple · 灵感来源:visionOS 浮层 + Linear 顶部 nav

active = components

复用卡

Top Navigation Bar · 玻璃导航 · 导航 / Glass

规格 · 术语提示词(给 AI 用)

做一个 Top Navigation Bar(玻璃导航):
- 固定顶栏 + 背景模糊,滚动不跟随
- 导航项以图标说话:当前页放大并亮出文字
- 常驻 chrome 不参与路由淡入淡出
用这些 CSS 变量:--color-accent --color-bg --color-text --color-text-muted --glass-bg --glass-border --glass-inset --shadow-sm
灵感参考:visionOS 浮层 + Linear 顶部 nav

参数(CSS 变量)

--color-accent --color-bg --color-text --color-text-muted --glass-bg --glass-border --glass-inset --shadow-sm

必缺状态

焦点

整页场景

(尚未接进整页场景)

安装(一条链接)

参考(本站可核对)

调研笔记

玻璃导航

  • 整体 pill 形 + 玻璃外壳
  • 内部 chip 紧凑排列,active 项用 accent 高亮
  • logo / actions 都是 slot,外部内容全定制

变量:--glass-bg(surface 28%)/ --color-accent #7755ef。

实现

nav/glass-apple
import { type ReactNode } from 'react';

export interface NavItem {
  id: string;
  label: string;
  href?: string;
}

interface Props {
  logo?: ReactNode;
  items: NavItem[];
  activeId?: string;
  onSelect?: (id: string) => void;
  actions?: ReactNode;
}

export function GlassAppleNav({
  logo,
  items,
  activeId,
  onSelect,
  actions,
}: Props) {
  return (
    <nav
      className="
        flex items-center gap-1 max-w-full overflow-x-auto
        px-2 py-1.5
        rounded-full
        bg-[var(--glass-bg)] border border-[var(--glass-border)] backdrop-blur-xl
        shadow-[var(--shadow-sm),var(--glass-inset)]
      "
    >
      {logo && <div className="px-3">{logo}</div>}

      <div className="flex items-center gap-0.5 min-w-max">
        {items.map((item) => {
          const isActive = item.id === activeId;
          return (
            <button
              key={item.id}
              type="button"
              onClick={() => onSelect?.(item.id)}
              className={`
                press-feedback px-3 py-1.5 rounded-full text-sm whitespace-nowrap
                transition-colors
                ${isActive
                  ? 'bg-[var(--color-accent)] text-[var(--color-bg)] font-medium'
                  : 'text-[var(--color-text-muted)] hover:text-[var(--color-text)] hover:bg-[var(--glass-bg)]'
                }
              `}
            >
              {item.label}
            </button>
          );
        })}
      </div>

      {actions && <div className="px-2">{actions}</div>}
    </nav>
  );
}

元信息

标识
nav/glass-apple
状态
done
最后提交
2026-10-31
风格轴
glass-apple
依赖 token
--color-accent --color-bg --color-text --color-text-muted --glass-bg --glass-border --glass-inset --shadow-sm
在工作台打开 源码与 notes 都在 src/components/nav/glass-apple/