导航条是在您的应用或网站中作为导航页头的响应式基础组件。它们在移动设备上可以折叠(并且可开可关),且在视口(viewport)宽度增加时逐渐变为水平展开模式。
两端对齐的导航条导航链接已经被弃用了。
导航条内所包含元素溢出
由于 Bootstrap 并不知道你在导航条内放置的元素需要占据多宽的空间,你可能会遇到导航条中的内容折行的情况(也就是导航条占据两行)。解决办法如下:
减少导航条内所有元素所占据的宽度。 在某些尺寸的屏幕上(利用 响应式工具类)隐藏导航条内的一些元素。 修改导航条在水平排列和折叠排列互相转化时,触发这个转化的最小屏幕宽度值。可以通过修改 @grid-float-breakpoint 变量实现,或者自己重写相关的媒体查询代码,覆盖 Bootstrap 的默认值。
依赖 JavaScript 插件
如果 JavaScript 被禁用,并且视口(viewport)足够窄,致使导航条折叠起来,导航条将不能被打开,.navbar-collapse 内所包含的内容也将不可见。
响应式导航条依赖 collapse 插件,定制 Bootstrap 的话时候必将其包含。
修改视口的阈值,从而影响导航条的排列模式
当浏览器视口(viewport)的宽度小于 @grid-float-breakpoint 值时,导航条内部的元素变为折叠排列,也就是变现为移动设备展现模式;当浏览器视口(viewport)的宽度大于 @grid-float-breakpoint 值时,导航条内部的元素变为水平排列,也就是变现为非移动设备展现模式。通过调整源码中的这个值,就可以控制导航条何时堆叠排列,何时水平排列。默认值是 768px (小屏幕 -- 或者说是平板 --的最小值,或者说是平板)。
导航条的可访问性
务必使用<nav>
元素,或者,如果使用的是通用的<div>
元素的话,务必为导航条设置role="navigation"
属性,这样能够让使用辅助设备的用户明确知道这是一个导航区域。
将导航条内放置品牌标志的地方替换为 <img>
元素即可展示自己的品牌图标。由于 .navbar-brand
已经被设置了内补(padding)和高度(height),你需要根据自己的情况添加一些 CSS 代码从而覆盖默认设置。
将表单放置于 .navbar-form
之内可以呈现很好的垂直对齐,并在较窄的视口(viewport)中呈现折叠状态。 使用对齐选项可以规定其在导航条上出现的位置。
注意,.navbar-form
和 .form-inline
的大部分代码都一样,内部实现使用了 mixin
。 某些表单组件,例如输入框组,可能需要设置一个固定宽度,从而在导航条内有合适的展现。
移动设备上的注意事项
在移动设备上,对于在 fixed
定位的元素内使用表单控件的情况有一些注意事项。请参考我们提供的浏览器支持情况相关的文档 。
为输入框添加 label
标签
如果你没有为输入框添加 label
标签,屏幕阅读器将会遇到问题。对于导航条内的表单,可以通过添加 .sr-only
类隐藏 label
标签。
对于不包含在 <form>
中的 <button>
元素,加上 .navbar-btn
后,可以让它在导航条里垂直居中。有一些对于为辅助设备提供可识别标签的方法,例如, aria-label、aria-labelledby 或者 title 属性。如果这些方法都没有,屏幕阅读器将使用 placeholder 属性(如果这个属性存在的话),但是请注意,使用 placeholder 代替其他识别标签的方式是不推荐的。
基于情境的用法
就像标准的 按钮类 一样,.navbar-btn
可以被用在<a>
和<input>
元素上。然而,在.navbar-nav
内,.navbar-btn
和标准的按钮类都不应该被用在<a>
元素上。
把文本包裹在 .navbar-text
中时,为了有正确的行距和颜色,通常使用 <p>
标签。
或许你希望在标准的导航组件之外添加标准链接,那么,使用 .navbar-link
类可以让链接有正确的默认颜色和反色设置。
通过添加 .navbar-left
和 .navbar-right
工具类让导航链接、表单、按钮或文本对齐。两个类都会通过 CSS 设置特定方向的浮动样式。例如,要对齐导航链接,就要把它们放在个分开的、应用了工具类的 <ul>
标签里。
这些类是 .pull-left
和 .pull-right
的 mixin 版本,但是他们被限定在了媒体查询(media query)中,这样可以更容易的在各种尺寸的屏幕上处理导航条组件。
向右侧对齐多个组件
导航条目前不支持多个.navbar-right
类。为了让内容之间有合适的空隙,我们为最后一个.navbar-right
元素使用负边距(margin)。如果有多个元素使用这个类,它们的边距(margin)将不能按照你的预期正常展现。
我们将在 v4 版本中重写这个组件时重新审视这个功能。
添加 .navbar-fixed-top
类可以让导航条固定在顶部,还可包含一个 .container
或 .container-fluid
容器,从而让导航条居中,并在两侧添加内补(padding)。
需要为 body 元素设置内补(padding)
``` body { padding-top: 70px; } ``` Make sure to include this after the core Bootstrap CSS.
这个固定的导航条会遮住页面上的其它内容,除非你给<body>
元素底部设置了 padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是 50px。
添加 .navbar-fixed-bottom
类可以让导航条固定在底部,并且还可以包含一个 .container
或 .container-fluid
容器,从而让导航条居中,并在两侧添加内补(padding)。
需要为 body 元素设置内补(padding)
``` body { padding-bottom: 70px; } ``` Make sure to include this after the core Bootstrap CSS.
这个固定的导航条会遮住页面上的其它内容,除非你给<body>
元素底部设置了 padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是 50px。
通过添加 .navbar-static-top
类即可创建一个与页面等宽度的导航条,它会随着页面向下滚动而消失。还可以包含一个 .container
或 .container-fluid
容器,用于将导航条居中对齐并在两侧添加内补(padding)。
与 .navbar-fixed-*
类不同的是,你不用给 body 添加任何内补(padding)。
通过添加 .navbar-inverse
类可以改变导航条的外观。
目录