html - 如何默认打开 Bootstrap 的可折叠导航栏?

标签 html css twitter-bootstrap

我有一个带有切换按钮的 Bootstrap 导航栏。在折叠模式或页面加载时,如何让这个导航栏默认打开?我已经尝试将 data-toggle="collapse" 属性设置为 data-toggle="collapse.show" 现在它默认显示但需要点击两次才能关闭。如何让它默认打开并按预期工作?

导航栏代码是这样的:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</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>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    /* content */
  </div>
</nav>

最佳答案

如果您希望导航栏在折叠模式下默认打开,则必须将 show 类添加到包含可折叠项的元素中菜单(包含 collapse 类的菜单),像这样:

<div class="collapse show navbar-collapse" id="navbarSupportedContent">
    /* content */
</div>

引用:Bootstrap Collapse Documentation

这里有一个例子,所以你可以看到它的工作...

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <a class="navbar-brand" href="#">
    BRAND
  </a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse show navbar-collapse" id="navbarNav">
     <ul class="navbar-nav">
       <li class="nav-item">
         <a class="nav-link" href="#">Link 1</a>
       </li>
       <li class="nav-item">
         <a class="nav-link" href="#">Link 2</a>
       </li>
       <li class="nav-item">
         <a class="nav-link" href="#">Link 3</a>
       </li>
     </ul>
  </div>
</nav>

关于html - 如何默认打开 Bootstrap 的可折叠导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52908902/

相关文章:

css - 为什么用 $.ajax() 加载的元素不显示 jQuery Mobile CSS?

forms - 使用流体网格系统在 Bootstrap 上对齐输入

html - 我可以自动将 CSS 列分解为 'pages' 以垂直放置在视口(viewport)内吗?

javascript - 我有清除输入文本宽度 jQuery 的问题

html - 背景内部淡入淡出

html - 扩展更多列以适应 Bootstrap 中较少列的宽度

Javascript 并关注后代元素

html - CSS/HTML : vertical div-alignment-Problem (added live-demo)

html - 类不应该优先于 * 选择器

css - 用css画3个三 Angular 形