中心无序列表navbar - bootstrap 3

pru*_*ock 10 twitter-bootstrap twitter-bootstrap-3

所以,我试图集中我的导航栏列表项目.由于此任务没有实用程序功能,因此我设计了以下代码,将无序列表放在行中的列中.但即使我尝试使用旧的'text-align:center'进行居中,这个列表仍然在左边是合理的

<div class="navbar navbar-fixed-top ">
    <!--<a class="navbar-brand" href="#">Title</a> -->
    <div class= "row">
        <div style="border:1px solid black;text-align:center;" class="col-4 col-offset-4">
            <ul class="nav navbar-nav">
                <li class="active"><a href="/">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Projects</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

dei*_*zel 23

我采取的步骤:

  • float: left从列表和列表元素中删除
  • 使用display: inline而不是为列表元素
  • 设置链接以display: inline-block保持其块尺寸
  • 只需添加text-align: center到导航栏即可集中所有内容
  • 包装媒体查询,因此移动设备上的垂直列表不受影响

结果CSS添加.navbar-centered样式:

@media (min-width: 768px) {
    .navbar-centered .navbar-nav {
        float: none;
        text-align: center;
    }
    .navbar-centered .navbar-nav > li {
        float: none;
    }
    .navbar-centered .nav > li {
        display: inline;
    }
    .navbar-centered .nav > li > a {
        display: inline-block;
    }
}
Run Code Online (Sandbox Code Playgroud)

通过将.navbar-centered样式应用于导航栏来使用:

<div class="navbar navbar-default navbar-centered" role="navigation">
    ...
</div>
Run Code Online (Sandbox Code Playgroud)