0

I have been trying to get a navbar in Bootstrap 5 working with dead centered links and a left brand logo. However using flexbox options in Bootstrap 5 I can only seem to get the nave links sort of centered in a flex container. However the collapse behavior works as expected.

<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top navbar-default">
  <div class="container-fluid">
    <a href="#" class="navbar-brand me-auto">
      <img style="height: 45px" src="https://lanman2018.ieee-lanman.org/files/2016/01/sample-logo@2x.png">
    </a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar2">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="navbar-collapse collapse justify-content-center" id="navbar">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link" href="#">page link/a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="dropdown" aria-expanded="false">dropdown</a>
          <ul class="dropdown-menu" aria-labelledby="dropdown">
            <li>
              <a class="dropdown-item" href="#">2nd Page</a>
            </li>
            <li>
              <a class="dropdown-item" href="#"> This is a really long page nameS</a>
            </li>
            <li>
              <a class="dropdown-item" href="#">still a long name</a>
            </li>
          </ul>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">about us</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Contact Page</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

If I set the logo position to absolute I get mostly what I am looking for but upon collapse the nav button sits under the logo. I am probably missing something obvious as I usually don't do front end.

Here is a link to a jsfiddle where I have both of the solutions I've been working on https://jsfiddle.net/0s24hLmf/

1 Answers1

0

It should work if you push the toggler to the right using ms-auto...

<nav class="navbar navbar-expand-md navbar-dark bg-dark navbar-default">
    <div class="container-fluid">
        <a href="/index.php" class="navbar-brand nav-logo me-auto position-absolute top-0">
            <img style="height: 45px" src="https://lanman2018.ieee-lanman.org/files/2016/01/sample-logo@2x.png">
        </a>
        <button class="navbar-toggler ms-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbar2">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="navbar-collapse collapse justify-content-center" id="navbar2">
            <ul class="navbar-nav">
                <li class="nav-item">
                    <a class="nav-link" href="#">Page Link</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="dropdown2" aria-expanded="false">dropdown</a>
                    <ul class="dropdown-menu" aria-labelledby="dropdown">
                        <li><a class="dropdown-item" href="#">2nd Page</a>
                        </li>
                        <li><a class="dropdown-item" href="#"> This is a really long page nameS</a></li>
                        <li><a class="dropdown-item" href="#">still a long name</a></li>
                    </ul>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">about us</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Contact Page</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

Demo

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