2012-06-30 18 views
14

Twitter Bootstrapを初めて使い、深いマストヘッドの下部にNavBarを配置し、ユーザーが垂直方向にページをスクロールしてNavBarがトップになるとページのスタイルを変更して、NavBarが固定になるようにします。私が望む効果は、http://www.happycog.com/と同じですが、これはBootstrap NavBarを使用している場合に限られます。ブートストラップでブラウザの上部にスクロールNavBarスティックを作成する

したがって、実際の問題は、NavBarを0の位置にスクロールしたときにnavbar-fixed-topスタイルをトリガーする方法です。つまり、ブラウザの上部です。

すべてのアイデアやポインターをいただければ幸いです。ありがとうございました。

+0

CSS - 位置:固定します; –

+0

あなたは[booststrap doc](http://twitter.github.com/bootstrap/javascript.html)のサブナビでその例を持っています – Sherbrow

+0

これは以下の複製です:http://stackoverflow.com/questions/ 9179708/replicating-bootstraps-main-nav-and-subnav本質的には、スクロールバーが適切なポイントに達したときに固定クラスを追加したり削除したりする必要があります。 – ForbesLindesay

答えて

5

これを行うにはjavascriptを使用する必要があります。ここでは、jQueryを使用して、レイアウトが変更されないように一時的なdivをその場所に貼り付けるだけでなく、ページの上端に移動したらnavbarの位置を固定に変換するソリューションを紹介します。

http://jsfiddle.net/T6nZe/

3

あなたはCSS3スティッキー位置を試すことができます。

.sticky { 
    position: sticky; 
    top: 10px; /* When the element reaches top: 10px, it becomes fixed. */ 
    z-index: 100; 
} 

ブラウザのサポート:http://caniuse.com/#feat=css-sticky

+1

位置:スティッキーはかなり限定されたサポートを備えていますが、Chrome、IE、Androidはありませんhttp://caniuse.com/#search=sticky – Lewis42

1

をより利用があるかもしれない次、ブラウザの互換性を目指して。

.sticky { 
    position: -webkit-sticky; 
    position: -moz-sticky; 
    position: -ms-sticky; 
    position: -o-sticky; 
    position: sticky; 
    top: 10px; 
    z-index: 100; 
} 
6

CSSクラスnavbar-fixed-topを追加します。

はここに例を示します

<nav class='navbar navbar-inverse navbar-fixed-top sticky' role='navigation'> 
    <!-- nav content --> 
</nav> 
関連する問題