html - 如何在 Bootstrap 中将导航项居中?

标签 html css twitter-bootstrap bootstrap-4

<分区>

如果我想在 Bootstrap 4 中根据浏览器窗口大小将导航栏上的导航项(链接)居中怎么办?看一下代码:

<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="#">Navbar</a>
    <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
        <div class="navbar-nav">
            <a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
            <a class="nav-item nav-link" href="#">Features</a>
            <a class="nav-item nav-link" href="#">Pricing</a>
            <a class="nav-item nav-link disabled" href="#">Disabled</a>
        </div>
    </div>
</nav>

现在我想根据浏览器宽度将 div“navbar-nav”居中。我尝试过的一件事是给它 mr-auto 和 ml-auto 这似乎确实使它居中但不完全是。它的实际作用是根据宽度 "browser window width - logo width"将其居中。我希望它正好位于屏幕中间。

我也尝试过将位置更改为绝对位置,但同样在折叠模式下也会弄乱布局。

最佳答案

响应式地使用 flexbox 和 margin utils...

Bootstrap 4 alpha 6 http://codeply.com/go/YvzHvQQRAs (中心品牌和链接)

<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="d-md-flex d-block flex-row mx-md-auto mx-0">
        <a class="navbar-brand" href="#">Navbar</a>
        <div class="collapse navbar-collapse mr-auto" id="navbarNavAltMarkup">
            <div class="navbar-nav">
                <a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
                <a class="nav-item nav-link" href="#">Features</a>
                <a class="nav-item nav-link" href="#">Pricing</a>
                <a class="nav-item nav-link disabled" href="#">Disabled</a>
            </div>
        </div>
    </div>
</nav>

Bootstrap 4.1 https://www.codeply.com/go/sTJUthyswN (中心品牌,在移动设备上左对齐)

enter image description here

编辑..

答案还是基本一样。使用 mx-auto 居中。

http://codeply.com/go/mycC5z8lpJ (中心链接,左侧品牌)

<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="#">Navbar</a>
    <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
        <div class="navbar-nav mx-auto">
            <a class="nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
            <a class="nav-link" href="#">Features</a>
            <a class="nav-link" href="#">Pricing</a>
            <a class="nav-link disabled" href="#">Disabled</a>
        </div>
    </div>
</nav>

如果您希望链接完全在视口(viewport)中居中,请参见此处的第二个示例:http://www.codeply.com/go/RCBftzZCD8

Other Bootstrap 4 Navbar alignment examples

另见...

Center an element in Bootstrap 4 Navbar
Center Navbar links without brand pushing it to the right in Bootstrap 4?
How to center navbar in Bootstrap 4 using Flexbox
How to position navbar contents in Bootstrap 4
Bootstrap 4 Navbar align logo center and toggle icon on the left

关于html - 如何在 Bootstrap 中将导航项居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43738067/

相关文章:

css - Div 元素未在另一个 div 元素的中间对齐

html - 跳过表格中奇数行和偶数行中的某些行——连续的 CSS 样式

twitter-bootstrap - 置换响应倾斜图像

jquery - 一起使用 jQuery Mobile 和 bootstrap 时页脚无法正常工作

html - 没有当前目录的相对路径

javascript - sessionStorage 中的密码

jquery - RegEx 只有数字和单位添加退格问题

html - Flex、图片和滚动位置

html - 如何用圆 Angular div 屏蔽 "hr"行

html - 查找 slack 团队 ID 和 channel ID 的最简单方法是什么?