1

I'm trying to get my nav menu to collapse on mobile devices, but not on desktops.

Adding data-toggle="collapse" data-target="#navbarResponsive" seems to work, but then nav items also collapse when they're clicked on a desktop device.

<div class="py-0 px-3 fixed-top">
    <nav class="navbar container navbar-transparent navbar-padded navbar-expand-md">
        <a class="navbar-brand" href="#">
            Logo
        </a>    
        <button
            class="navbar-toggler navbar-toggler-right d-md-none"
            type="button"
            data-toggle="collapse"
            data-target="#navbarResponsive"
            aria-controls="navbarResponsive"
            aria-expanded="false"
            aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse text-uppercase" id="navbarResponsive">
            <ul class="nav navbar-nav ml-auto">
                <li class="nav-item" data-toggle="collapse" data-target="#navbarResponsive">
                    <a class="nav-link"href="#link1">link1</a>
                </li>
                <li class="nav-item" data-toggle="collapse" data-target="#navbarResponsive">
                    <a class="nav-link" href="#link2">link2</a>
                </li>
            </ul>
        </div>
    </nav>
</div>
letsintegreat
  • 3,328
  • 4
  • 18
  • 39

1 Answers1

0

Change the data-target to the mobile collapsed version: .navbar-collapse.show

   <li class="nav-item" data-toggle="collapse" data-target=".navbar-collapse.show">
       <a class="nav-link" href="#link1">link1</a>
   </li>

Demo: https://www.codeply.com/go/qBh0qJYekK


Related: How to hide collapsible Bootstrap 4 navbar on click

Carol Skelly
  • 351,302
  • 90
  • 710
  • 624