【问题标题】:Set width of Bootstrap 4 navbar overlay to nav contents将 Bootstrap 4 导航栏覆盖的宽度设置为导航内容
【发布时间】:2018-03-04 04:06:35
【问题描述】:

我想设置 Bootstrap 4 导航栏覆盖的宽度,当它通过单击汉堡图标显示时,以匹配其内容,而不是占据整个屏幕。我已经浏览了 navbar、navbar-collapse 和 navbar-nav 类以及一些 flex 文档,但我还不清楚如何做到这一点。

【问题讨论】:

  • 你能把代码贴出来吗?

标签: css bootstrap-4


【解决方案1】:

您可以利用navbar-toggler 也可以处理导航栏之外的事情这一事实。

因此,您可以在导航栏外创建一个container,在其中添加一个row,并在该行中添加一个col-auto

将整个collapse navbar-collapse div 放入该自动列现在将完全符合您的要求。唯一的缺点是,对于导航栏的展开状态,您必须在导航栏中有一个 navbar-item 列表的副本。

另外请注意,您需要将style="margin-top: -1px !important" 添加到外部容器,否则它会突出一个像素。 (m-0 删除容器上的常规边距)

这是一个工作代码sn-p(点击下面的“运行代码sn-p”):

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<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.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

<nav class="navbar navbar-expand-DISABLED navbar-dark bg-dark">
    <a class="navbar-brand" href="#">
        <img class="brand-icon mr-2" src="https://placehold.it/60" width="30" height="30" alt="">Company
    </a>

    <button class="navbar-toggler" 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>
</nav>
   
<div class="container m-0" style="margin-top: -1px !important">
   <div class="row">
       <div class="col-auto navbar-dark bg-dark">
           <div class="collapse navbar-collapse" id="navbarSupportedContent">
               <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 dropdown">
                       <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                           Dropdown
                       </a>
                       <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                           <a class="dropdown-item" href="#">Action</a>
                           <a class="dropdown-item" href="#">Another action</a>
                           <div class="dropdown-divider"></div>
                           <a class="dropdown-item" href="#">Something else here</a>
                       </div>
                   </li>
                   <li class="nav-item">
                       <a class="nav-link disabled" href="#">Disabled</a>
                   </li>
               </ul> 
           </div>
       </div>
   </div>
</div>

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 2015-05-13
    • 1970-01-01
    • 2015-12-31
    • 2015-08-27
    • 2018-07-21
    • 2018-08-17
    • 2018-07-19
    • 1970-01-01
    相关资源
    最近更新 更多