我在轨道项目中通过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样式,我的假设是它看起来非常类似于文档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 );
从基础寻找css,它适用于按钮和所有东西,导航栏样式似乎也在那里,例如:
.nav-bar {
height: 40px;
background: #4d4d4d;
margin-top: 20px;
padding: 0;
}
3 回答
我和zurb-foundation 3.0.9有完全相同的问题 . 尝试升级到3.1.1
在您的Gemfile中,使用:
在application.scss中:
确保准备好文档
更新宝石
确保删除缓存:
干杯!
您在第一个列表项后缺少此行
<li class="toggle-topbar"><a href="#"></a></li>
这可能是正在发生的事情,但并非100%正面 .
您应该在下面的所有
<div>
标签上方以及<body>
标签下方放置类似下面的示例 . 它存在于网格系统之外,因此它应该高于一切 . 请注意,没有<div>
标签 .