2013-09-26 12 views
7

Chcę umieścić baner na stałym pasku nawigacyjnym z Bootstrap. Moim celem jest wykorzystanie nawigacji jako nawigacji dla operacji i umieszczenie nad nią banera projektu. Będzie fajnie, jeśli w przypadku przewijania pasek nawigacji znajdzie się w tym miejscu, ale lepiej, żeby baner zniknął.Umieszczanie zawartości/baneru nad "Naprawionym górnym paskiem nawigacji"

Jak mogę to osiągnąć, wszelkie przykłady?

+4

Masz na myśli coś takiego? http://www.bootply.com/69848 – ZimSystem

+0

@Skelly to jest exaclty, czego szukam! Dzięki. – mCeviker

+0

Otrzymuję ten błąd: 0x800a01b6 - błąd runtime javascript: obiekt nie obsługuje właściwości lub metody 'affix' –

Odpowiedz

1

W odpowiedzi na rozwiązanie Skelly, nie polecam używania systemu gridowego bootstrap do stylu nagłówka. Powodem jest to, że na urządzeniach mobilnych spowoduje to niepotrzebną separację linii lub niepożądane odstępy, nawet przy użyciu "ukrytego-sm". Możesz to zobaczyć, gdy zbliżasz właściwy element do lewego elementu w przeglądarce.

Zamiast używać .. "nav-header"

<header class="masthead"> 
    <div class="container"> 
    <div class="nav-header"> 
     <h1> 
      <a href="#" title="scroll down for your viewing pleasure"> 
       Bootstrap 3 Layout Template 
      </a> 
      <p class="lead">Big Top Header and Fixed Sidebar</p> 
     </h1> 
     <div class="pull-right hidden-sm">  
      <h1> 
      <a href="#"><i class="glyphicon glyphicon-user"></i> 
       <i class="glyphicon glyphicon-chevron-down"></i> 
      </a> 
      </h1> 
    </div> 
    </div> 
</div> 
</header> 
+0

Na urządzeniach mobilnych wystarczy przerzucić na poziomowanie bloku (chyba że masz <= 4 małe elementy). Możesz to zrobić, używając 'col-sm-n' (w przeciwieństwie do 'col-xs-n' - gdzie n to liczba kolumn.) – niico

7

Sztuką jest w użyciu affix, a wtedy nie koniecznie umieścić banner w <header>.

CSS:

#topnavbar { 
    margin: 0; 
} 
#topnavbar.affix { 
    position: fixed; 
    top: 0; 
    width: 100%; 
} 

JS:

$('#topnavbar').affix({ 
    offset: { 
     top: $('#banner').height() 
    } 
}); 

html:

<div class="container" id="banner"> 
    <div class="row"> 
     <h1> Your banner </h1> 
    </div> 
</div> 

<nav class="navbar navbar-default navbar-static-top" role="navigation" id="topnavbar"> 
    ... 
</nav> 

Zapoznaj się z demo in bootstrap 3.1.1.

+0

Utracone wiele godzin próbując dowiedzieć się, jak to zrobić, twoje rozwiązanie działa idealnie! –

+2

Używanie JQuery do tego wydaje się być naprawdę złym pomysłem, więc po prostu uruchom własną nawigację - wydaje się, że najlepiej jest unikać JavaScriptu, chyba że jest to naprawdę konieczne nr – niico

+0

Chciałbym zobaczyć odpowiedź bez JavaScript. – lostintranslation

Powiązane problemy