固定导航栏

Posted hasher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了固定导航栏相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0
        }
 
        /*img {*/
            /*vertical-align: top;*/
        /*}*/
 
        .main {
            margin: 0 auto;
            width: 1000px;
            margin-top: 10px;
 
        }
 
        #Q-nav1 {
            overflow: hidden;
        }
 
        .fixed {
            position: fixed;
            top: 0;
            left: 0;
        }
    </style>
 
    <!--引入工具js-->
    <script src="my.js"></script>
    <script>
        window.onload = function () {
            //需求1:当我们滚动界面的时候,被卷曲的头部超过第二个盒子距离顶部的位置,那么直接给第二个盒子加类名.fixed
            //需求2:当我们滚动界面的时候,被卷曲的头部小于第二个盒子距离顶部的位置,那么直接给第二个盒子取消类名.fixed
            //步骤:
            //1.老三步。
            //2.判断 ,被卷曲的头部的大小
            //3.满足条件添加类,否则删除类
 
 
            //1.老三步。
            var topDiv = document.getElementById("top");
            var height = topDiv.offsetHeight;
            var middle = document.getElementById("Q-nav1");
            var main = document.getElementById("main");
 
            window.onscroll = function () {
                //2.判断 ,被卷曲的头部的大小
                if(scroll().top > height){
                    //3.满足条件添加类,否则删除类
                    middle.className += " fixed";
                    //第二个盒子不占位置了,所以我们给第三个盒子一个上padding占位置,不出现盒子抖动问题
                    main.style.paddingTop = middle.offsetHeight+"px";
                }else{
                    middle.className = "";
                    //清零
                    main.style.paddingTop = 0;
                }
            }
 
        }
    </script>
</head>
<body>
    <div class="top" id="top">
        <img src="images/top.png" />
    </div>
    <div id="Q-nav1">
        <img src="images/nav.png" />
    </div>
    <div class="main" id="main">
        <img src="images/main.png" />
    </div>
</body>
</html>

以上是关于固定导航栏的主要内容,如果未能解决你的问题,请参考以下文章

可放置元素首选项(固定导航栏)

Bootstrap 4 固定顶部导航和固定侧边栏

React实现顶部固定滑动式导航栏(导航条下拉一定像素时显示原导航栏样式)

HTML5如何才能让导航栏固定顶部不动,且!且!且!不遮挡住下面的DIV???

移动端底部导航栏固定——兼容IOS

如何使用 vue js 制作固定导航栏?