htmlcssbootstrap-5scrollspy

Bootstrap 5 scrollspy doesn't highlight


I ve tried to do everything but scrollspy works but doesnt highlight, what am i doing wrong?

I have copied and pasted the exact same HTML and CSS codes from getbootstrap.com.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
  <title>UNITAYLE</title>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h255rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>

</head>
<style>
    html {
    scroll-padding-top: 100px; /* height of sticky header */
    }

    .unires {
        /* Full height */
        height: 18rem;
        object-fit: cover;
        width: 100%;
    }

    .nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: #6c757d;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    }

    .nav-pills {
    --bs-nav-pills-border-radius: 0.375rem;
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: #0d6efd;
    }

    a {
    color: var(--bs-link-color);
    text-decoration: underline;
    }

    .nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
    }

    .nav-pills .nav-link {
        background: 0 0;
        border: 0;
        border-radius: var(--bs-nav-pills-border-radius);
    }

    .nav-pills .nav-link.active, .nav-pills .show>.nav-link {
        color: var(--bs-nav-pills-link-active-color);
        background-color: var(--bs-nav-pills-link-active-bg);
    }
</style>
<body>
    
    <?php include '../navsub.php'; ?>

    <!--head%shoulders-->
    <div class="container-flex text-center">
        <img class="unires" src="../images/uniler/haz4.jpg" alt="">
        <h1 class="mb-5">ÇEK TEKNIK ÜNİVERSİTESİ</h1>
    </div>

    <div class="container-fluid">
        <div class="row">
            <div class="col-4">
                <nav id="navbar-example3" class="h-100 flex-column align-items-stretch pe-4 border-end">
                <nav class="nav nav-pills flex-column">
                    <a class="nav-link" href="#item-1">Item 1</a>
                    <nav class="nav nav-pills flex-column">
                    <a class="nav-link ms-3 my-1" href="#item-1-1">Item 1-1</a>
                    <a class="nav-link ms-3 my-1" href="#item-1-2">Item 1-2</a>
                    </nav>
                    <a class="nav-link" href="#item-2">Item 2</a>
                    <a class="nav-link" href="#item-3">Item 3</a>
                    <nav class="nav nav-pills flex-column">
                    <a class="nav-link ms-3 my-1" href="#item-3-1">Item 3-1</a>
                    <a class="nav-link ms-3 my-1" href="#item-3-2">Item 3-2</a>
                    </nav>
                </nav>
                </nav>
            </div>

            <div class="col-8">
                <div data-bs-spy="scroll" data-bs-target="#navbar-example3" data-bs-offset="100" data-bs-smooth-scroll="true" class="scrollspy-example-2" tabindex="0">
                <div id="item-1">
                    <h4>Item 1</h4>
                    <p>...</p>
                </div>
                <div id="item-1-1">
                    <h5>Item 1-1</h5>
                    <p>...</p>
                </div>
                <div id="item-1-2">
                    <h5>Item 1-2</h5>
                    <p>...</p>
                </div>
                <div id="item-2">
                    <h4>Item 2</h4>
                    <p>...</p>
                </div>
                <div id="item-3">
                    <h4>Item 3</h4>
                    <p>...</p>
                </div>
                <div id="item-3-1">
                    <h5>Item 3-1</h5>
                    <p>...</p>
                </div>
                <div id="item-3-2">
                    <h5>Item 3-2</h5>
                    <p>...</p>
                </div>
                </div>
            </div>
        </div>    
    </div>



    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h255rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
    <script>
  var scrollSpy = new bootstrap.ScrollSpy(document.body, {
    target: '#navbar-example3'
  });
</script>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

</body>
</html>

I copied and pasted exact code from Bootstrap 5 scrollspy including css codes from the getbootstrap. I was expecting to scrollspy highlight.


Solution

  • Your Bootstrap bundle is broken. Check your browser's JavaScript console and you'll see an integrity check error, and that the bootstrap variable can't be found.

    Try this instead

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
    

    You can also remove the Bootstrap import under the <title> tag as it's redundant.