---
title: "公共 Header 宽屏可扩展 & 导航文字裁切修复 — Quick Fix"
type: quick-fix
date: 2026-06-07
---

# 公共 Header 宽屏可扩展 & 导航文字裁切修复 — Quick Fix

## Bug
1. 桌面 Header 内容固定在 `max-w-[1280px]`，更宽的视口下不能 expand，左右出现大面积空白。
2. 在中等宽度（约 1000–1280px）`<nav>` 通过 `overflow-x-auto` 横向滚动来塞 6 个导航项，结果首尾字符被滚动容器边缘切掉，看起来像 "All assets" 变成 "ll assets"、"Popular" 变成 "Popula"，类似被 overlay 挡住。

## Root Cause
- `PublicLayout.tsx` 桌面 Header 内层容器固定 `mx-auto max-w-[1280px]`，限制了宽屏扩展。
- nav 在 `min-[1000px]` 就显示出来，但实际所需宽度（≈1230px）大于该断点下的可用空间，于是用 `overflow-x-auto` 做兜底，造成视觉裁切。

## Fix
- 移除 Header 桌面内层容器的 `max-w-[1280px]`，改用 `w-full`，宽屏会自然 expand 到视口宽度。
- 将 nav 与移动菜单按钮的显示断点从 `min-[1000px]` 提升到 `xl`（1280px），nav 出现时永远有足够空间，不需要横向滚动。
- 删除 nav 上的 `overflow-x-auto overflow-y-hidden` 和 `header-nav-scroll` 类，以及 `index.css` 中废弃的 `.header-nav-scroll` 规则。

### Files Modified
- `src/layouts/PublicLayout.tsx`
  - Header 桌面行：`mx-auto max-w-[1280px] xl:px-6` → `w-full xl:px-10`，整体可随视口扩展。
  - nav：`min-[1000px]:flex` → `xl:flex`，去掉 `overflow-x-auto` 与 `header-nav-scroll`。
  - 右侧操作区与桌面 burger：`min-[1000px]:*` → `xl:*`，保持与 nav 同步切换。
  - 移动菜单抽屉：`min-[1000px]:hidden` → `xl:hidden`。
- `src/index.css` — 移除已无用的 `.header-nav-scroll` 规则。

## Verification
- `npx tsc --noEmit` 通过。
- `npm run format:check` 通过。
- `npm test` 全 49 测试通过。
- 行为预期：
  - 视口 ≥1280px：nav 完整显示，无任何边缘裁切；Header 内容随视口加宽继续 expand。
  - 视口 <1280px：自动切换到 burger 抽屉（原本 1000–1280 的横向滚动 nav 不再出现）。

## Notes
- 中等宽度（1000–1280）原本能直接看到 nav，现在改成 burger，这是为了完全消除文字裁切。是否要保留中等宽度的 nav 是设计取舍，目前以用户「不允许文字被裁」的要求为优先。
- 主内容 `<main>` 仍保留 `max-w-[1280px]`；如需主内容也跟随扩展，可后续单独调整。
