2013-09-26 116 views
7

Tôi muốn đặt một biểu ngữ lên thanh điều hướng cố định hàng đầu cố định của Bootstrap. Mục đích của tôi là sử dụng thanh điều hướng làm điều hướng cho các hoạt động và đặt một biểu ngữ của dự án lên trên nó. Nó sẽ được mát mẻ nếu navbar là luôn luôn có trong trường hợp di chuyển, nhưng nó là tốt hơn cho banner biến mất.Đặt nội dung/biểu ngữ phía trên "Fixed Top Navbar"

Làm cách nào để đạt được điều đó, bất kỳ ví dụ nào?

+4

Bạn có ý nghĩa như thế này? http://www.bootply.com/69848 – ZimSystem

+0

@Skelly đó là exaclty những gì tôi tìm kiếm! Cảm ơn. – mCeviker

+0

Tôi nhận được lỗi này: 0x800a01b6 - Lỗi thời gian chạy javascript: đối tượng không hỗ trợ thuộc tính hoặc phương thức 'gắn' –

Trả lời

1

Để đáp ứng với giải pháp của Skelly, tôi sẽ không khuyên bạn nên sử dụng hệ thống lưới của bootstrap để tạo kiểu cho tiêu đề của bạn. Lý do là trên thiết bị di động điều này sẽ tạo ra dòng không cần thiết tách hoặc khoảng cách không mong muốn ngay cả với việc sử dụng "ẩn-sm". Bạn có thể thấy điều này khi bạn đưa phần tử phù hợp gần hơn với phần tử bên trái trên trình duyệt của mình.

Thay vì sử dụng .. "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

Trên thiết bị di động chỉ cần lật để chặn điều hướng cấp (trừ khi bạn có <= 4 mục nhỏ). Bạn có thể làm điều này bằng cách sử dụng 'col-sm-n' (trái với 'col-xs-n' - trong đó n là số cột. – niico

7

Bí quyết là trong việc sử dụng affix, và sau đó bạn không nhất thiết cần phải đặt các biểu ngữ trong <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> 

Kiểm tra các demo in bootstrap 3.1.1.

+0

Mất nhiều giờ cố gắng tìm ra cách để làm điều đó, giải pháp của bạn hoạt động hoàn hảo! –

+2

Sử dụng JQuery cho điều này có vẻ như là một ý tưởng thực sự tồi tệ Tại sao không chỉ cuộn điều hướng của riêng bạn - có vẻ như Javascript là tốt nhất tránh trừ khi nó thực sự cần thiết không? – niico

+0

Rất thích nhìn thấy một câu trả lời không JavaScript. – lostintranslation