2016-04-21 3 views
0

как я могу превратить мой по умолчанию NavbarBootstrap преобразование по умолчанию Navbar в основной навигационной панели

Screenshot of default navbar

в фиксированной навигационной панели (когда прокручиваю)

Screenshot of fixed navbar

Это мой пример кода:

<div class="navbar navbar-default"> 
 
       <div class="navbar-header"> 
 
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse"> 
 
        <span class="icon-bar"></span> 
 
        <span class="icon-bar"></span> 
 
        <span class="icon-bar"></span> 
 
        </button> 
 
        <a class="navbar-brand" href="#">Brand</a> 
 
       </div> 
 
       <div class="navbar-collapse collapse navbar-responsive-collapse"> 
 
        <ul class="nav navbar-nav"> 
 
        <li class="active"><a href="#">Active</a></li> 
 
        <li><a href="#">Link</a></li> 
 
        <li class="dropdown"> 
 
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> 
 
         <ul class="dropdown-menu"> 
 
         <li><a href="#">Action</a></li> 
 
         <li><a href="#">Another action</a></li> 
 
         <li><a href="#">Something else here</a></li> 
 
         <li class="divider"></li> 
 
         <li class="dropdown-header">Dropdown header</li> 
 
         <li><a href="#">Separated link</a></li> 
 
         <li><a href="#">One more separated link</a></li> 
 
         </ul> 
 
        </li> 
 
        </ul> 
 
        <form class="navbar-form navbar-left"> 
 
        <input type="text" class="form-control col-lg-8" placeholder="Search"> 
 
        </form> 
 
        <ul class="nav navbar-nav navbar-right"> 
 
        <li><a href="#">Link</a></li> 
 
        <li class="dropdown"> 
 
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> 
 
         <ul class="dropdown-menu"> 
 
         <li><a href="#">Action</a></li> 
 
         <li><a href="#">Another action</a></li> 
 
         <li><a href="#">Something else here</a></li> 
 
         <li class="divider"></li> 
 
         <li><a href="#">Separated link</a></li> 
 
         </ul> 
 
        </li> 
 
        </ul> 
 
       </div> 
 
       </div> 
 
      </div>

Когда я вставляю data-spy="affix" data-offset-top="200", он работает, но он не выглядит так, как я хочу.

Screenshot of my navbar

Должен ли я написать еще один класс CSS или есть более простое решение?

+1

Я думаю, что это дубликат: http://stackoverflow.com/questions/21301316/how-to-bootstrap-navbar-static-to-fixed-on-scroll –

ответ

0

Мое предположение: добавление класса navbar-fixed-top сделает это.

<div class="navbar navbar-default navbar-fixed-top"> 
+0

Я не хочу, чтобы мой навигатор сверху с полной шириной. Я хочу, чтобы мой навигатор выглядел как на скриншоте 01 и только после прокрутки (фиксированный) – Ckappo

0

Чтобы изменить CSS элемента при прокрутке страницы лучший способ это создать еще один класс CSS со всеми правилами, которые вам нужны, например:

.navbar-sm { 
    background-color:red; 
    /*all the rules that you need*/ 
} 

затем добавить его к элементу с Jquery:

$(document).ready(function() { 

$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     $('.navbar').addClass('navbar-sm'); 
    } else { 
     $('.navbar').removeClass('navbar-sm'); 
    } 
}); 
if ($(window).scrollTop() > 100) { 
    $('.navbar').addClass('navbar-sm'); 
} 

}); 

Существует рабочий пример здесь: FIDDLE

Смежные вопросы