在bootstrap的导航栏中禁用新行

时间:2017-07-26 00:57:06

标签: javascript css twitter-bootstrap navbar

我想创建一个bootstrap的导航栏:JSBin

<!DOCTYPE html>
<html>
<head>
  <script src="https://code.jquery.com/jquery.min.js"></script>
  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-default navbar-fixed-top">
        <div class="container-fluid">
            <div id="navbar">
                <ul class="nav navbar-nav">
                    <li><a>Item1</a></li>
                    <li><a>Item2</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Item3 <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a>Sub1</a></li>
                            <li><a>Sub2</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</body>
</html>

上述代码的问题是,当我们减小预览的宽度时,所有项目都会移动到不同的行。但是,我希望它们(子菜单除外)始终位于同一行。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

只需将lia代码显示为inline,就像这样:

li {
  display: inline !important;
}

a {
  display: inline !important;
}

enter image description here

更新

以下是评论中问题的答案。

1。我们可以将类添加到特定的li代码(您的案例中除sub1sub2除外),并仅应用display: inline !important对于那些类的li

2. Bootstrap自动将边距应用于ul代码,因此只需重置它们或应用您喜欢的任何值,例如:

ul {
  margin: 0 !important;
}

答案 1 :(得分:1)

这是默认的bootstrap的导航栏样式:

enter image description here

当宽度<1时引起的

768px所有项目移动到不同的行 要解决您的问题,您可以将其添加到您的CSS:

.nav>li { float: left; }

Demo here