React Bootstrap logoReact Bootstrap

Navbar

基础导航

基于 Bootstrap 5 的导航栏组件,Navbar 系列(Navbar、NavbarBrand、NavbarCollapse、NavbarToggle、NavbarText、NavbarOffcanvas)用于构建响应式顶部导航,支持折叠断点、受控/非受控展开状态、选择后自动收起、配色方案、固定与粘性定位、滚动导航与抽屉式导航,可与 Nav、Dropdown、表单等组件自由组合

支持的内容

导航栏由 Navbar 容器加 Brand、Nav、表单与 Text 等子内容组成;Nav 渲染 `ul.nav`,配合 `me-auto` 等 Flex 工具类即可排出常见布局

品牌 Brand

NavbarBrand 渲染 `navbar-brand` 类;设置 href 后渲染为链接,也可以放入 Logo 图片与文案

导航链接

导航栏内的 Nav 自动追加 `navbar-nav` 类,NavLink 自动携带 `nav-link` 类,激活链接渲染 `active` 类并设置 `aria-current="page"`

表单与下拉菜单

`d-flex` 表单与 Dropdown 等组件可以直接放入导航栏,配合容器类即可控制对齐方式

文本

NavbarText 渲染 `navbar-text` 类,为纯文本提供与导航栏一致的内边距与颜色

配色方案

data-bs-theme 控制导航栏内容的配色,bg 提供背景色;variant 属性渲染的 `navbar-light`/`navbar-dark` 在 Bootstrap 5.3 中已弃用,建议统一使用 data-bs-theme

容器

在 Navbar 内包裹 `container`、`container-fluid` 或 `container-{breakpoint}` 即可按需求限制内容宽度

定位方式

fixed-top 固定在区块顶部,内容通过预留的顶部间距避免被遮挡;实际页面中为 body 添加 padding-top 即可。
fixed-bottom 固定在区块底部,内容通过预留的底部间距避免被遮挡;实际页面中为 body 添加 padding-bottom 即可。

滚动内容 1,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 2,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 3,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 4,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 5,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 6,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 7,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 8,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 9,sticky-top 导航栏会吸附在滚动容器顶部。

滚动内容 10,sticky-top 导航栏会吸附在滚动容器顶部。

fixed 渲染 `fixed-top`/`fixed-bottom`(此处通过 transform 容器演示固定效果,并预留了与导航栏 等高的间距避免遮挡内容),sticky 渲染 `sticky-top`/`sticky-bottom`,在滚动容器中可观察真实的吸附行为

滚动导航

给 Nav 添加 `navbar-nav-scroll` 类并设置 `--bs-scroll-height` 变量后,链接在 expand 断点以下会改为纵向滚动;缩小窗口即可观察滚动效果

响应式行为

缩小窗口宽度即可看到折叠按钮:NavbarToggle 与 NavbarCollapse 通过 aria-controls/id 互相关联,点击折叠按钮自动维护展开状态;设置 collapseOnSelect 后移动端点击 NavLink 会自动收起导航栏

受控与外部内容

传入 expanded 与 onToggle 后导航栏变为受控组件,展开状态完全由外部 state 决定, 因此可以在导航栏之外的任意位置控制其展开与收起

Offcanvas 抽屉导航

缩小窗口后点击折叠按钮,NavbarOffcanvas 会以抽屉形式从右侧滑出(遮罩点击与 Esc 均可关闭,打开期间锁定页面滚动);头部关闭按钮通过 useNavbar 取得 onToggle 收起导航栏。桌面端由 `navbar-expand-lg` 样式自动切换为内联布局;表单使用 `mt-3 mt-lg-0`、Nav 使用 `pe-3` 保持两种布局下与导航的间距和对齐