【问题标题】:How to create sticky header bar for a website如何为网站创建粘性标题栏
【发布时间】:2012-11-03 19:22:22
【问题描述】:

我想为网站创建一个粘性标题栏,就像本网站 (http://www.fizzysoftware.com/) 上的粘性标题一样,如果有任何可以帮助我进行编码或任何可以帮助我的资源创建相同的。你的回复对我很有帮助。

【问题讨论】:

标签: header sticky


【解决方案1】:

在你的 CSS 中,添加

position: fixed;

到您的标题元素。就是这么简单,真的。 下次,尝试右键单击您在网站上看到的内容,然后选择“检查元素”。我认为现在每个现代浏览器都有它。很实用的功能。

【讨论】:

    【解决方案2】:

    如果你想在它向下滚动到某个点时使其保持粘性,那么你可以使用这个功能:

    $window = $(window);
    $window.scroll(function() {
      $scroll_position = $window.scrollTop();
        if ($scroll_position > 300) { // if body is scrolled down by 300 pixels
            $('.your-header').addClass('sticky');
    
            // to get rid of jerk
            header_height = $('.your-header').innerHeight();
            $('body').css('padding-top' , header_height);
        } else {
            $('body').css('padding-top' , '0');
            $('.your-header').removeClass('sticky');
        }
     });
    

    还有粘性类:

    .sticky {
      position: fixed;
      z-index: 9999;
      width: 100%;
    }
    

    你可以使用这个插件,它有一些有用的选项

    jQuery Sticky Header

    【讨论】:

      【解决方案3】:

      如果您希望在 HTML 和 CSS 选项中简单地创建一个 Stiky NavBar,您可以使用以下内容: 只需创建一个像这样的导航栏:

      <nav class="zone blue sticky">
            <ul class="main-nav">
                <li><a href="">About</a></li>
                <li><a href="">Products</a></li>
                <li><a href="">Our Team</a></li>
                <li class="push"><a href="">Contact</a></li>
        </ul>
        </nav>
      

      请记住在这种情况下添加类,我创建了一个区域(将我的 HTML 分隔在我希望应用我的 CSS 的特定区域)蓝色(只是导航的颜色)和粘性,它将携带我们的粘性功能。您可以处理要添加的其他属性,这取决于您。 在 CSS 上添加以下内容以创建粘性;首先,我将从区域标签开始

      .zone {
          /*padding:30px 50px;*/
          cursor:pointer;
          color:#FFF;
          font-size:2em;
          border-radius:4px;
          border:1px solid #bbb;
          transition: all 0.3s linear;
      }
      

      现在使用粘性标签

      .sticky {
        position: fixed;
        top: 0;
        width: 100%;
      }
      

      位置固定意味着它总是在同一个位置;并且使用 top 0 我将始终位于顶部和 100% 的宽度,因此它覆盖了整个屏幕。 现在让我们的导航栏变成蓝色

      .blue {
          background: #7abcff;
      

      您可以使用此示例创建您自己的粘性导航栏,并使用 CSS 属性来根据自己的喜好对其进行自定义。

      【讨论】:

        【解决方案4】:

        CSS 已经给你答案了。试试这个

        .sticky {
          position: -webkit-sticky;
          position: sticky;
          top: 0;
        }
        

        现在将粘性类添加到任何菜单侧边栏或任何您想要粘贴到顶部的东西,它会自动计算边距并粘贴到顶部。干杯。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-27
          • 2013-11-30
          • 1970-01-01
          • 2013-03-13
          相关资源
          最近更新 更多