Railsプロジェクトでzurb-foundationgemを介してZurbFoundation3を使用しています。ナビゲーションバーを追加しようとするまで、すべてが順調に進んでいます。
<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;
}