htmlbootstrap-5navbaroff-canvas-menu

NavBar not displaying correctly


I am having trouble getting Bootstrap to render elements on my site the way they appear on Bootstrap's site. I am trying to implement a navbar that contains links to my other pages from my index page. Certain Bootstrap navbars appear correctly, but most others won't, especially the dark ones, and I can't figure out why. Here's an example of one that isn't appearing as I hoped: On the left is what Bootstrap shows this navbar looking like, and on the right is how it actually looks when I run http-server:

Here's how I'm linking in Bootstrap: <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>

And here is my HTML for the Offcanvas navbar I'm trying to implement: ` Navbar

                    <li class="nav-item">
                        <a class="nav-link active" aria-current="page" href="index.html"><img class="w-5" src="index/home_icon.png" alt="Home icon"></a>
                    </li>

                    <li class="nav-item">
                        <a class="nav-link" href="jets.html"><img class="w-5" src="jets/jets_logo.png" alt="Jets logo"></a>
                    </li>

                    <li class="nav-item">
                        <a class="nav-link" href="yankees.html"><img class="w-5" src="yankees/yankees_logo.png" alt="Yankees logo"></a>
                    </li>

                    <li class="nav-item">
                        <a class="nav-link" href="islanders.html"><img class="w-5" src="islanders/islanders_logo.png" alt="Islanders logo"></a>
                    </li>

                    <li class="nav-item">
                        <a class="nav-link" href="knicks.html"><img class="w-5" src="knicks/knicks_logo.png" alt="Knicks logo"></a>
                    </li>

                    <li class="nav-item">
                        <a class="nav-link" href="fantasy.html"><img class="w-5" src="fantasy/fantasy_logo.webp" alt="Yahoo Fantasy Sports logo"></a>
                    </li>

                </ul>


                <form class="d-flex" role="search">
                    <input id="search_for_page" class="form-control me-2" type="search" placeholder="Which page do you want to visit?" autocomplete="on" aria-label="Search">
                    <button class="btn btn-outline-success" type="submit">Search</button>
                </form>
            </div>
        </div>
    </nav>`

Side by side of Bootstrap's offcanvas navbar vs how it appears on my site


Solution

  • I think the problem is that the navbar code you re trying to use is from a newer bootstrap version (like bootstrap 5’s “offcanvas” navbar) but you’re loading bootstrap 4.5.3 in your <link> and <script> tags. bootstrap 4 does not have the offcanvas navbar or some of the newer navbar-dark styles that appear on the docs for Bootstrap 5, so things will look broken or unstyled.

    just upgrade to bootstrap 5

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>