【问题标题】:Centering a Navbar UL (Unordered List) with Bootstrap 4 on OSX在 OSX 上使用 Bootstrap 4 将导航栏 UL(无序列表)居中
【发布时间】:2017-09-23 05:14:25
【问题描述】:

嗯,我似乎无法自己解决这个问题。我正在使用主导航栏,似乎无法将特定内容集中在页面上。我已经将 '.container' 应用到 'nav .navbar' 并设置了 'max-width' 来控制“品牌”的排列位置。但是,我在将“主页 | 链接 | 禁用 | 下拉菜单”置于页面中心时遇到了问题。

我试过了:

‘.text-center’ on the li tags, inline
and:
li {
  text-align: center;
}

‘justify-content-center’ on ul tag, inline
and
.ul {
      justify-content: center;
    }

Put the ul inside:
<div class="row">
  <div class="col text-center”>

  </div>
</div>

但是,这些都不起作用。这是导航标记和 CSS 文件: HTML:

<nav class="navbar navbar-expand-md navbar-light bg-light fixed-top">
    <div class="container">
    <a class="navbar-brand" href="#">Brand Here</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
      <!-- ul starts here -->

      <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
          <div class="dropdown-menu" aria-labelledby="dropdown01">
            <a class="dropdown-item" href="#">Action</a>
            <a class="dropdown-item" href="#">Another action</a>
            <a class="dropdown-item" href="#">Something else here</a>
          </div>
        </li>
      </ul>

      <!-- ul ends here -->
      </div>
    </div><!-- container placed within <nav> tag -->
  </nav>

Sass/CSS

body {
  padding-top: 56px;

  nav .container {
    max-width: 1374px;

    .navbar-brand {
      color: $blue-text !important;
    }

    .ul {
      justify-content: center;
    } 
  }
}

任何帮助将不胜感激。 TIA

【问题讨论】:

  • 您好,您需要只对齐链接还是同时对齐链接和 navbrand ?
  • 嗨,萨西什。我只需要将链接居中即可。

标签: javascript html css twitter-bootstrap


【解决方案1】:

要在 Bootstrap V4 中使导航栏内容居中,请使用 flex-grow: 1; 它允许元素扩展 100%,并使用 justify-content: center; 属性将项目对齐到中心。

@media (min-width: 992px){
.navbar-expand-lg .navbar-nav {
      flex-grow: 1;
      justify-content: center;
     }
  }

这里是codepen demo link.

【讨论】:

    【解决方案2】:

    感谢 Satheesh,您让我走上了正确的道路。我在我的 Sass 文件中逐字尝试了您的解决方案,但由于某种原因,它不起作用。然后我就加了:

    body {
      padding-top: 56px;
    
      nav .container {
        max-width: 1374px;
    
        .navbar-brand {
          color: $blue-text !important;
        }
        /* added from your solution */
        .navbar-nav {
          flex-grow: 1;
          justify-content: center;
        }
      }
    }
    

    【讨论】:

    • 不客气,如果我的回答很好,请标记为正确。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2019-11-11
    • 2019-05-25
    • 2017-06-29
    • 2013-11-27
    • 2018-07-07
    • 2019-03-27
    • 2021-03-04
    • 2023-03-20
    相关资源
    最近更新 更多