2

我正在通过 rails 项目上的 zurb-foundation gem 使用 Zurb Foundation 3。一切都很顺利,直到我尝试添加导航栏:

<body>
  <div id="container" class="twelve columns">
      <div class="fixed contain-to-grid">
        <nav class="top-bar">
          <ul>
            <li class="name"><h1><%= link_to "Home", root_path %></h1></li>
          </ul>
          <section>
            <ul class="left">
              <li><a href="#">Left</a></li>
            </ul>

            <ul class="right">
              <li><a href="#">Right</a></li>
            </ul>
          </section>
        </nav>
      </div>

看起来像:

Zurb Nav 外观

除了颜色,我没有覆盖任何 zurb 样式,我的假设是它看起来与文档http://foundation.zurb.com/docs/navigation.php中的第一个示例非常相似,但这似乎并不是这样的。该文档还提到了 javascript 依赖项,但这些都包括在内。

有人对如何开始让这个开始看起来漂亮有任何想法吗?

编辑:

将行添加到第一个列表中,如下所示:

<ul>
            <li class="name"><h1><%= link_to "Home", root_path %></h1></li>
            <li class="toggle-topbar"><a href="#"></a></li>
          </ul>

呈现:

在第一次建议之后

检查元素以查看是否显示内容,导航 JS 在那里:

(function ($){

  $.fn.foundationNavigation = function (options) {

    var lockNavBar = false;
    // Windows Phone, sadly, does not register touch events :(
    if (Modernizr.touch || navigator.userAgent.match(/Windows Phone/i)) {
      $(document).on('click.fndtn touchstart.fndtn', '.nav-bar a.flyout-toggle', function (e) {
        e.preventDefault();
        var flyout = $(this).siblings('.flyout').first();
        if (lockNavBar === false) {
          $('.nav-bar .flyout').not(flyout).slideUp(500);
          flyout.slideToggle(500, function () {
            lockNavBar = false;
          });
        }
        lockNavBar = true;
      });
      $('.nav-bar>li.has-flyout', this).addClass('is-touch');
    } else {
      $('.nav-bar>li.has-flyout', this).hover(function () {
        $(this).children('.flyout').show();
      }, function () {
        $(this).children('.flyout').hide();
      });
    }

  };

})( jQuery );

从 Foundation 中寻找 css,它适用于按钮和所有内容,并且导航栏样式似乎也在那里,例如:

.nav-bar {
  height: 40px;
  background: #4d4d4d;
  margin-top: 20px;
  padding: 0;
}
4

3 回答 3

7

对于 zurb-foundation 3.0.9,我遇到了与您完全相同的问题。尝试升级到 3.1.1

在您的 Gemfile 中,使用:

gem 'zurb-foundation', '~> 3.1.1'

在 application.scss 中:

@import 'foundation';

确保你在文件中准备好这个

$(document).foundationTopBar(); 

更新宝石

bundle update

确保已删除缓存:

bundle exec rake tmp:cache:clear

干杯!

于 2012-10-12T10:54:49.247 回答
0

您应该在下面的所有<div>标签上方和标签下方放置类似此示例的内容<body>。它存在于网格系统之外,因此它应该高于一切。注意没有<div>标签。

<nav class="top-bar">
    <ul>
      <li class="name"><h1><a href="#">James Stone</a></h1></li>
      <li class="toggle-topbar"><a href="#"></a></li>
    </ul>
    <section>
      <ul class="right">
        <li class="has-dropdown"><a href="#">I</a>
          <ul class="dropdown">
            <li><a href="#">Bio</a></li>
            <li><a href="#">Resume</a></li>
          </ul>
        </li>
    </section>
  </nav>
于 2012-10-11T17:00:31.457 回答
0

您在第一个列表项之后缺少此行

<li class="toggle-topbar"><a href="#"></a></li>

这可能是正在发生的事情,但不是 100% 积极的。

于 2012-10-09T02:26:17.583 回答