0

I'm pulling my hair out trying to center my nav items and have my button at the end. I managed to get the button to the end but cannot figure out how to center the items+brand. Any help would be appreciated!

<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <title>DOC</title>
</head>

<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">Navbar</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-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">
        <ul class="navbar-nav me-auto mb-2 mb-lg-0">
          <li class="nav-item">
            <a class="nav-link active" aria-current="page" href="#">Services</a>
          </li>

          <li class="nav-item">
            <a class="nav-link active" aria-current="page" href="#">The team</a>
          </li>

          <li class="nav-item">
            <a class="nav-link active" aria-current="page" href="#">Contact Us</a>
          </li>
        </ul>
        <div class="d-flex">
          <button class="btn btn-outline-success" type="submit">Login</button>
        </div>
      </div>
    </div>
  </nav>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>

</html>
Mahdi Msb
  • 129
  • 1
  • 9
andresmonc
  • 398
  • 7
  • 21
  • I dont think theres such a thing as flex middle, to position your flex you call it justify-content:center;. Are you talking about your nav-item to center it? You are talking about "items+brand" but i dont see it – Crystal Apr 30 '22 at 18:36

1 Answers1

0

Well you can't do such thing inside of a single flex (it might be possible using margin auto but I'm not sure about it) but using two nested flex boxes can help you

here in this code I used the div.collapse as first flexbox and ul.navbar-nav as the second one

<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse justify-content-between navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav w-100 justify-content-center mb-2 mb-lg-0">
            <li class="nav-item">
                <a class="nav-link active" aria-current="page" href="#">Services</a>
            </li>

            <li class="nav-item">
                <a class="nav-link" aria-current="page" href="#">The team</a>
            </li>

            <li class="nav-item">
                <a class="nav-link" aria-current="page" href="#">Contact Us</a>
            </li>
        </ul>
        <div class="d-flex">
            <button class="btn btn-outline-success" type="submit">Login</button>
        </div>
    </div>
</div>

Here is a live demonstration of how it works, let me know if you meant something else

https://jsfiddle.net/mahdiar_mansouri/fohgr7ew/7/

Mahdiar Mransouri
  • 652
  • 1
  • 4
  • 11