3

我无法让导航栏停留在窗口顶部。我试过使用“粘性数据”,但没有。无论我做什么,它都会随着页面滚动。我还尝试将类添加到中小型导航中。有什么建议么?

html:

    <!-- Small Navigation -->
<div class="title-bar" data-responsive-toggle="nav-menu" data-hide-for="medium">
    <a class="logo-small show-for-small-only" href="#"><img src="/assets/img/fingerLogoXS.gif" /></a>
    <button class="menu-icon" type="button" data-toggle></button>
    <div class="title-bar-title">Menu</div>
</div>
<!-- Medium-Up Navigation -->
<nav class="top-bar" id="nav-menu">
    <div class="logo-wrapper hide-for-small-only">
        <div class="logo">
            <img src="/assets/img/fingerLogoSM.2.gif">
        </div>
    </div>
    <!-- Left Nav Section -->
    <div class="top-bar-left">
        <ul class="vertical medium-horizontal menu">
            <li><a href="#">Home</a></li>
            <li><a href="about.html">About</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
    </div>

    <!-- Right Nav Section -->
    <div class="top-bar-right">
        <ul class="vertical medium-horizontal dropdown menu" data-dropdown-menu>
            <li class="has-submenu">
                <a href="#">Technologies</a>
                <ul class="submenu menu vertical medium-horizontal" data-submenu>
                    <li><a href="#">Foundation</a></li>
                    <li><a href="#">HTML5</a></li>
                    <li><a href="#">CSS3</a></li>
                    <li><a href="#">JavaScript</a></li>
                </ul>
            </li>
            <li>
                <a href="#">Portfolio</a>
            </li>
        </ul>
    </div>
</nav>

<!--End Main Navigation-->

CSS:

    /* Small Navigation */

.logo-small {
  float: right;
  padding: 4px;
}

.title-bar {
  padding: 0 .5rem;
  background-color: #3D3242;
}

.menu-icon,
.title-bar-title {
  position: relative;
  top: 10px;
  padding: 4px;
}

/* Medium-Up Navigation */
@media only screen and (min-width: 40rem) { 

    .sticky {
  width: 100%;
}

  .logo-wrapper {
    position: relative;
  }

  .logo-wrapper .logo {
    width: 92px;
    height:  92px;
    position: absolute;
    left: 50%;
    right: 50%;
    top: -6px;
    margin-left: -46px;
  }

  // Right part
  .top-bar-right {
    width: 50%;
    padding-left: 60px;
  }

  .top-bar-right ul {
    float:  left;
  }

  // Left part
  .top-bar-left {
    width:  50%;
    padding-right: 60px;
  }

  .top-bar-left ul {
    float:  right;
  } 
}
4

2 回答 2

3

我得到了 Zurb 基金会论坛上的好人的帮助。这是实现粘性 TopBar 的正确方法:

   <div data-sticky-container>
  <div class="small-12 sticky" data-sticky data-options="marginTop: 0">
    <div class="top-bar">
      <div class="top-bar-left">
        <ul class="dropdown menu" data-dropdown-menu>
          <li class="menu-text">Site Title</li>
          <li class="has-submenu">
            <a href="#">One</a>
            <ul class="submenu menu vertical" data-submenu>
              <li><a href="#">One</a></li>
              <li><a href="#">Two</a></li>
              <li><a href="#">Three</a></li>
            </ul>
          </li>
          <li><a href="#">Two</a></li>
          <li><a href="#">Three</a></li>
        </ul>
      </div>
      <div class="top-bar-right">
        <ul class="menu">
          <li><input type="search" placeholder="Search"></li>
          <li><button type="button" class="button">Search</button></li>
        </ul>
      </div>
    </div>
  </div>
</div>

再次感谢瓦尔!

于 2016-01-11T07:37:01.757 回答
1

这是您所问问题的有效解决方案: https ://jsfiddle.net/368z4fun/

像这样轻松解决position:fixed;

.title-bar {
  position:fixed;
}

nav {
  position:fixed;
}

还添加了更多 CSS 来修复fixed更改的样式。当心旧的移动浏览器兼容性,position:fixed;你可能需要这样的修复

您还可以使用 StyleBot 之类的浏览器插件在您的实时站点上进行检查。看这个:

在此处输入图像描述

祝你好运!

于 2016-01-09T07:49:16.710 回答