【问题标题】:My scrolling fixed navbar drop-down isn't displaying properly我的滚动固定导航栏下拉菜单显示不正确
【发布时间】:2020-08-14 19:35:21
【问题描述】:

我创建了一个导航栏,当您滚动它时,它会停留在页面顶部,但我的下拉菜单无法正常工作。下拉菜单会显示,但主要内容会向下移动,下拉菜单内容会跨越显示的宽度。我不得不再次编辑它,因为我的一些代码丢失了......任何帮助将不胜感激。谢谢

        body {
            font-size: 28px;
              }

           ul {
               list-style-type: none;
               margin: 0;
               padding: 0;
                overflow: hidden;
               background-color: #333;
               position: -webkit-sticky; /* Safari */
               position: sticky;
               top: 0;
                  }

                    li {
                     float: left;
                         }

                li a, .dropbtn  {
                  display:  inline-block;
                  color: white;
                  text-align: center;
                    padding: 14px 16px;
                text-decoration: none;
                    }

                li a:hover, .dropdown:hover .dropbtn {
               background-color: #111;
                  }

                .active {
                   background-color: #4CAF50;
                        }
            li.dropdown {
                display: inline-block;
                      }

                  .dropdown-content {
                 display: none;
                 position: sticky;
                 background-color: #f9f9f9;
                  min-width: 160px;
                box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
                  z-index: 1;
                   }

                   .dropdown-content a {
                  color: black;
                  padding: 12px 16px;
                 text-decoration: none;
                 display: block;
                 text-align: left;
                      }

                .dropdown-content a:hover {background-color: #f1f1f1;}

                 .dropdown:hover .dropdown-content {
                   display: block;
                        }
            <!DOCTYPE html>
            <html>
            <head>

             </head>
             <body>

             <div class="header">
             <h2>Scroll Down</h2>
               <p>Scroll down to see the sticky effect.</p>
             </div>

             <ul>
              <li><a class="active" href="#home">Home</a></li>
              <li><a href="#news">News</a></li>
              <li><a href="#contact">Contact</a></li>
              <li class="dropdown">
               <a href="javascript:void(0)" class="dropbtn">Dropdown</a>
             <div class="dropdown-content">
               <a href="#">Link 1</a>
               <a href="#">Link 2</a>
               <a href="#">Link 3</a>
              </div>
              </li>
            </ul>

           <h3>Added text for scrolling</h3>
           <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
           maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
           omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum 
           no molestiae voluptatibus.</p>
           <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
           maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
           omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum 
          no molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. 
         Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae 
         voluptatibus. 
         </p>
 
         </body>
         </html>

【问题讨论】:

  • 你在说什么下拉菜单?
  • 请再次解释你到底是什么失败了。
  • 编辑了缺失的代码

标签: css scroll nav sticky


【解决方案1】:

您的代码中有一些问题。

发生的情况是您的下拉菜单正在向下推送所有内容,因此您应该将其 position 更改为 absolute

你应该避免使用float,这是一个坏习惯并且已经过时了。改用flex,现在已经足够支持了。

 body {
            font-size: 28px;
              }

           ul {
               list-style-type: none;
               margin: 0;
               padding: 0;
   
               background-color: #333;
               position: -webkit-sticky; /* Safari */
               position: sticky;
               top: 0;
               
               display: flex;
               align-items: center;
                  }

                li {
                  position: relative
                    }

                li a, .dropbtn  {
                 display: inline-block;
                  color: white;
                  text-align: center;
                    padding: 14px 16px;
                text-decoration: none;
                    }

                li a:hover, .dropdown:hover .dropbtn {
               background-color: #111;
                  }

                .active {
                   background-color: #4CAF50;
                        }
    

                  .dropdown-content {
                 display: none;
                 position: absolute;
                 left: 0;
                 top: 60px;
                 right: 0;
                 background-color: #f9f9f9;
                  min-width: 160px;
                box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
                  z-index: 1;
                   }

                   .dropdown-content a {
                  color: black;
                  padding: 12px 16px;
                 text-decoration: none;
                 display: block;
                 text-align: left;
                      }

                .dropdown-content a:hover {background-color: #f1f1f1;}

                 .dropdown:hover .dropdown-content {
                   display: block;
                        }
  <!DOCTYPE html>
            <html>
            <head>

             </head>
             <body>

             <div class="header">
             <h2>Scroll Down</h2>
               <p>Scroll down to see the sticky effect.</p>
             </div>

             <ul>
              <li><a class="active" href="#home">Home</a></li>
              <li><a href="#news">News</a></li>
              <li><a href="#contact">Contact</a></li>
              <li class="dropdown">
               <a href="javascript:void(0)" class="dropbtn">Dropdown</a>
             <div class="dropdown-content">
               <a href="#">Link 1</a>
               <a href="#">Link 2</a>
               <a href="#">Link 3</a>
              </div>
              </li>
            </ul>

           <h3>Added text for scrolling</h3>
           <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
           maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
           omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum 
           no molestiae voluptatibus.</p>
           <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
           maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
           omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum 
          no molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no 
         molestiae voluptatibus.</p>
         <p>Some text to enable scrolling. Lorem ipsum dolor sit amet, illum definitiones no quo, 
         maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam 
         omnis evertitur eum. 
         Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae 
         voluptatibus. 
         </p>
 
         </body>
         </html>

【讨论】:

  • 我接受了你的回答。感谢您的信息。谢谢蓝鸟。
猜你喜欢
  • 2013-03-22
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-30
相关资源
最近更新 更多