首页 > web前端 > css教程 > 正文

如何创建粘在顶部的滚动导航栏?

Linda Hamilton
发布: 2024-11-22 14:37:17
原创
930 人浏览过

How to Create a Scrolling Navigation Bar That Sticks to the Top?

制作一个粘在顶部的滚动导航栏

粘性导航栏

您的目标是创建一个最初出现在的导航栏页面底部。当您向下滚动时,该栏会一直移动,直到到达页面顶部并保持在那里。这是分别使用 navbar-fixed-bottom 和 navbar-fixed-top 类来实现的。

解决您的代码问题

检查您提供的代码会发现以下内容:

  • 正确的 navbar-fixed-top 类用法
  • 适当的阴影删除

但是,要使栏按预期运行,您需要:

  • 调整 <div> 的位置以最初显示在页面底部
  • 在<div>上添加一个大的margin-top或bottom来推动它down

    考虑以下修改后的代码:

    改进的 HTML

    <div>
    登录后复制

    修改的 CSS

    .navbar-fixed-top {
        top: 0;
        z-index: 100;
        position: fixed;
        width: 100%;
        margin-top: 800px; /* Add a sufficient margin-top to adjust the navigation bar's initial position */
    }
    登录后复制

    替代解决方案

    如果 Bootstrap 的内置导航栏行为不符合您的要求,您可以切换到更简单的 jQuery 或 JavaScript 实现:

    HTML 代码

    
       <div>
    登录后复制

    CSS 代码

    /* Initially, the nav bar is absolute, positioned at the bottom */
    #nav_bar {
        position: absolute;
        bottom: 0;
    }
    
    /* When the #content is scrolled 40px, the navbar changes to fixed */
    #content {
        height: 3000px;  /* Increase this to match your page content length */
        scroll: auto;
    }
    
    @media screen and (max-width: 480px) {
        #content {
            height: 8000px;
        }
    }
    
    /* This makes the navbar fixed positioned at the top, until the content is fully scrolled */
    .fixed-nav {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
    }
    登录后复制

    JavaScript 代码

    $(window).scroll(function(){
        if ($(window).scrollTop() > 40) {
            $("#nav_bar").addClass("fixed-nav");
         } else {
             $("#nav_bar").removeClass("fixed-nav");
         }
     });
    登录后复制

以上是如何创建粘在顶部的滚动导航栏?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
上一篇:如何在不使用表格的情况下水平对齐两个div? 下一篇:如何使用 CSS 隐藏选择元素中的垂直滚动条?
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
相关专题
更多>
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板