【问题标题】:Bootstrap 4 Alpha 6. Searchbox overflows container on navbar collapseBootstrap 4 Alpha 6. 导航栏折叠时搜索框溢出容器
【发布时间】:2017-10-03 16:53:23
【问题描述】:

我是相当新的 Bootstrap 4,所以这里可能有很多错误。

我想创建一个响应式导航栏,它可以折叠我的 4 个菜单按钮,但仍将搜索栏保持在其右侧。我还不确定如何处理展开后按钮的显示,但我现在的目标是将搜索栏保持在正确的宽度。

当屏幕变“小”时,导航切换按钮会出现,折叠菜单按钮。这很酷。但是搜索栏只是从它所在的容器中长出来的。如何将其保留在容器中?

感谢任何建议和改进:)

nav {
  background: brown;
}

nav .container {
  white-space: nowrap;
}
<head>
  <!-- Meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">


<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">


  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">


  <title>My Site</title>
</head>

<body>



  <nav class="navbar sticky-top navbar-inverse navbar-toggleable-sm">

    <div class="container" style="width:1400px">


      <div class="d-inline-block">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#Navbar">
                    <span class="navbar-toggler-icon"></span>
                </button>
      </div>


      <div class="collapse navbar-collapse" id="Navbar">
        <ul class="navbar-nav">
          <li class="nav-item active">
            <a class="nav-link" href="#">
              <span class="fa fa-home"> Home</span>
            </a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">
              <span class="fa fa-music"> Music</span>
            </a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">
              <span class="fa fa-info"> About</span>
            </a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">
              <span class="fa fa-address-card"> Contact Us</span>
            </a>
          </li>
        </ul>
      </div>


      <form class="d-inline-block w-100" role="search">
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Search by artist or album name">
          <span class="input-group-btn">
                        <button class="btn btn-secondary" type="submit">
                            <i class="fa fa-search"></i>
                        </button>
                    </span>
        </div>
      </form>



    </div>
  </nav>
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>

</body>

编辑:我稍微调整了一下,得到了以下结果 -> https://jsfiddle.net/Taliesin84/qL35nejo/

我当前的目标是防止搜索栏在尺寸太小时包裹在折叠按钮的下方。 我还需要在更大的屏幕尺寸下使搜索栏更宽,但目前这是次要的。有什么新想法吗?

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    来自 Bootstrap 4 的 github repo 中包含的示例:

    <form class="form-inline my-2 my-lg-0">
      <input class="form-control mr-sm-2" type="text" placeholder="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
    

    【讨论】:

    • 不幸的是,这不起作用。折叠菜单项后,搜索框将换行到下面的一行:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2020-04-12
    • 2016-12-06
    • 2021-12-19
    • 2013-12-17
    • 1970-01-01
    • 2018-01-08
    相关资源
    最近更新 更多