2013-07-19 47 views
1

我有一個導航菜單,我希望有一個子頁面的下拉菜單。我創建了它,一切都正常,只不過當頂部菜單中的頁面鏈接到右側時,當下拉菜單顯示時,我將頁面鏈接懸停在子頁面上。 我在這裏失蹤的是什麼? 感謝您的幫助提前。CSS導航菜單在向下滑動時向右滑動


這裏是的jsfiddle: jsfiddle.net/AC8XK/

什麼我不是100%這樣的,因爲有很多缺失,但它表明正是我所提到的問題。


我設法讓菜單正常工作。正如邁克所說,解決最初的問題是,將下拉ul位置相對改爲絕對

至於下拉的定位,我通過使用填充頂代替頂部邊距解決了這個問題。

感謝大家試圖幫助。

+2

你需要顯示一些代碼,所以我們可以看到發生了什麼事情。 –

+1

以一些代碼爲例。我有一個預感,你正在顯示列表項目(假設你正在使用一個導航列表),所以頂級項目必須移動爲子項目設置橫向空間,即使它們不會通常重疊 – Trojan

+0

發佈代碼+1或更好,做一個jsfiddle – Jacksonkr

回答

2

你在jsfiddle中提供的代碼是..有點混亂。我不得不削減很多,併爲下拉菜單生成一些基本格式。我會評論這些重要的位,但它應該或多或少地複製粘貼&。代碼是完全菜單的佈局文本 - 沒有視覺或位置樣式的東西。

重要概念:1 - 將您的LI設置爲width:auto,將li> ul設置爲position: absolute;width:100%。這樣可以進行定位,並確保個別的ul ul li位於不同的線路上。 2-您有display:nonedisplay:block正確。或者,您也可以使用屏幕外定位來達到同樣的目的。 3-記住做ul ul {position:absolute;}允許定位子菜單相對於父母li

HTML:

<div class="greenbar"> 
<nav> 
    <ul id="menu-navigation-menu" class="navigation"> 
     <li id="menu-item-107" class="menu-item"><a href="#">About</a> 
      <ul class="sub-menu"> 
       <li id="menu-item-116" class="menu-item"><a href="#">Terms of Use</a></li> 
       <li id="menu-item-119" class="menu-item"><a href="#">Just another link</a></li> 
      </ul> 
     </li> 
     <li id="menu-item-106" class="menu-item"><a href="#">Services</a> 
      <ul class="sub-menu"> 
       <li id="menu-item-120" class="menu-item"><a href="#">Another link again</a></li> 
      </ul> 
     </li> 
     <li id="menu-item-105" class="menu-item"><a href="#">Clients</a></li> 
     <li id="menu-item-104" class="menu-item"><a href="#">Resources</a></li> 
    </ul> 
</nav> 
</div> 

CSS:

nav ul { 
list-style-type: none; 
position: relative; 
display: inline-table; 
} 
nav ul li {float: left;} 
nav ul li a { display: block; text-decoration: none;} 
nav ul ul { 
display: none; 
position: absolute; 
width: auto; 
} 
nav ul li:hover > ul { display: block;} 
nav ul ul li { width: 100%;} 
+0

這應該是問題。我有絕對的位置,但下拉菜單會顯示在導航菜單的上方(菜單不在頂部),所以我將它改爲相對的,這樣就可以在頁面鏈接下面顯示下拉菜單。 所以,我必須將其改回絕對,但是如何讓它顯示在鏈接下方呢?使用保證金? – Alex

+0

top:n [%,em,px]; – mikedugan

+0

我將其更改爲絕對位置,並設法將其放置在我想要的位置,但現在我無法將鼠標懸停在下拉菜單上,因爲它在我試圖將其懸停時消失。你知道爲什麼發生這種情況嗎? – Alex