【问题标题】:How to center navbar in Bootstrap 4 using Flexbox如何使用 Flexbox 在 Bootstrap 4 中居中导航栏
【发布时间】:2017-06-29 20:44:57
【问题描述】:

嗯,我要实现这个东西:

使用 Bootstrap 4 导航栏。

如何使用 flexbox 或 .mr-auto 等实用程序将导航链接/项目集中在视口中间。我试图避免使用基于 CSS 的定位方法,因为它可能在不同的设备上看起来不一样。但是可以肯定的是,如果 CSS 方法承诺处于相同的集中位置,那为什么不呢!

注意:有些人可能会说要使用 justify 实用程序,问题是您不能使用它们,因为 .navbar-brand.navbar-nav 不能包装在 <div> 中。如果我这样做,布局就会混乱。

<nav class="navbar navbar-toggleable-md navbar-light bg-custom card-shadow-bottom">

    <div class="container">

        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>

        <a class="navbar-brand" href="#"><img src="img/nav-logo.png" alt="logo" class="nav-logo"></a>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav ml-auto mr-auto">
                <li class="nav-item">
                    <a class="nav-link" href="#">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Disabled</a>
                </li>
            </ul>
        </div>

    </div>

</nav>

【问题讨论】:

  • 我已经编辑了 qs,我尝试添加 mr-auto 和 ml-auto 但它不起作用。此外,我还尝试通过包装品牌 div 和 nav-item div 来使用网格,但随后 nav-item 被强制到下一行。帮助
  • 我提供的图像来自我想要实现的模板...没有颜色和样式,只有导航栏的布局....
  • 好的,那么当点击汉堡图标时想要看到什么?只是居中的链接还是社交图标?同样,该示例没有与图像相同的组件,因此完全不同。
  • 请不要发same question twice

标签: html css twitter-bootstrap bootstrap-4


【解决方案1】:

使用 flexbox 实用程序以您想要的方式对齐组件。这里justify-content-center 用于将navbar-nav 居中。

<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-inverse bg-primary justify-content-between">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#collapsingNavbar">
        <span class="navbar-toggler-icon"></span>
    </button>
    <a href="/" class="navbar-brand">Brand</a>
    <div class="navbar-collapse collapse justify-content-center" id="collapsingNavbar">
        <ul class="navbar-nav">
            <li class="nav-item active">
                <a class="nav-link" href="#">Link <span class="sr-only">Home</span></a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#" data-toggle="collapse">Link</a>
            </li>
        </ul>

    </div>
    <ul class="nav navbar-nav flex-row">
        <li class="nav-item"><a class="nav-link pr-3" href=""><i class="fa fa-facebook"></i></a></li>
        <li class="nav-item"><a class="nav-link" href=""><i class="fa fa-twitter"></i></a></li>
    </ul>
</nav>

More Navbar alignment examples

更新 Bootstrap 4.0.0

navbar-toggleable-sm 现在是 navbar-expand-md
navbar-inverse 现在是 navbar-dark
navbar-fixed-top 现在是 fixed-top

【讨论】:

  • 我的不能证明两者之间的内容是合理的。为什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2021-03-04
  • 2019-02-15
相关资源
最近更新 更多