2013-11-21 231 views
2

是否可以在不使用默認導航的所有標記的情況下創建切換按鈕?無導航欄元素的引導程序導航切換

我只是想創建具有摺疊功能的簡單菜單。例如:

<div class="navigation"> 
    <ul id="nav-to-collapse"> 
     <li><a href=""></a></li> 
     <li><a href=""></a></li> 
     <li><a href=""></a></li> 
    </ul> 

    <a href="#" class="toggle" data-toggle="collapse" data-target="#nav-to-collapse"> 
</div> 

會這樣嗎?它是我第一次使用Bootstrap(3),它非常混亂。我不想使用所有的導航欄類,因爲那樣我就不得不覆蓋所有的導航欄樣式來創建我想要的簡單菜單。

編輯:我設法創建切換沒有所有無用的導航欄類,但有一個切換動畫的問題,當導航高度改變。這裏是一個jsfiddle來解決這個問題:Jsfiddle demo

回答

0

通過在nav元素上使用min-height而不是height來修復崩潰動畫問題。這裏是一個小提琴:http://jsfiddle.net/cfcZY/2/

nav { min-height: 100px; } 
1

Bootstrap的切換功能是一個JavaScript函數,當用戶點擊具有data-toggle =「collapse」屬性的元素時觸發。如果沒有指定data-target =「」id,則用戶點擊的元素將摺疊。然而,在這個標記位:

<a href="#" class="toggle" data-toggle="collapse" data-target="#nav-to-collapse"> 

data-target =「」屬性設置爲#導航到摺疊的ID。因此,Bootstrap的崩潰插件將尋找id =「nav-to-collapse」,並在該id上觸發其功能。

所以在這個標記:

<div class="navbar navbar-inverse navbar-fixed-top"> 
     <div class="container"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 
      <a class="navbar-brand" href="#">Project name</a> 
     </div> 
     <div class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav"> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="#about">About</a></li> 
      <li><a href="#contact">Contact</a></li> 
      </ul> 
     </div><!--/.nav-collapse --> 
     </div> 
    </div> 

的數據目標被設置爲分類.navbar崩潰的,這將使該元素崩潰之下的一切。

+0

好吧我設法得到它的工作沒有所有無用的導航欄類。但是有一個問題,當我將css中的導航高度設置爲auto以外的其他值時,推倒正文內容的摺疊動畫不起作用。我創建了一個小提琴,所以你可以看到我的意思:http://jsfiddle.net/cfcZY/。當您取消註釋nav {height:}聲明時,它會中斷。 –

+0

那是因爲你給它一個靜態高度。通過將該容器的高度設置爲100px,它將擴展到100px,但不會更多。通過將其設置爲auto,容器的高度將擴大,以便爲該容器內的所有內容騰出空間。如果您只需要將其擴展到某個高度,則必須同時設置容器的高度,然後確保所有內容都適合該容器(例如,通過更改爲導航鏈接的字體大小,例如)。 – Jerreck

+0

是的,我雖然它創建導航下的新div並把鏈接放在那裏。我通過使用min-height來修復它:) –