4
votes

I would like a navbar to always be expanded on mobile, yet be displayed vertically as when a collapsed navbar is toggled normally. Since the navbar is always expanded I would like to remove the visibility of the hamburger button as well.

On desktop the navbar should always be expanded and horizontal, which is working already in my code.

I thought it should work to simply use aria-expanded="true" on the navbar toggler, but it doesn't seem to work.

fiddle: https://jsfiddle.net/fegq670m/1/

code:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <div class="container">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#footerResponsive" aria-controls="footerResponsive" aria-expanded="true" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span><!-- I want to remove this -->
        </button>
        <div id="footerResponsive" class="collapse navbar-collapse">
            <ul class="navbar-nav">
                <li class="nav-item">
                    <a class="nav-link" href="#">item 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">item 2</a>
                </li>
            </ul>
        </div>
    </div>
</nav>
2

2 Answers

3
votes

You just need to remove the collapse class from navbar-collapse. (and remove the toggler if you don't want it to be toggleable)

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <div class="container">
        <div id="footerResponsive" class="navbar-collapse">
            <ul class="navbar-nav">
                <li class="nav-item">
                    <a class="nav-link" href="#">item 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">item 2</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

Demo: https://codeply.com/go/AaSHYpIBGk

0
votes

You need to remove the hamburger button and classes from your #footerResponsive div.

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container">
    <div id="footerResponsive">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link" href="#">item 1</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">item 2</a>
        </li>
      </ul>
    </div>
  </div>
</nav>