2014-01-30 57 views
0

在我目前的菜單開始降了下來,我已經有5列表項allign懸停列表菜單從上面的列表項高度

HTML

<ul id="menu-list"> 
       <li>Menu Item 1 
       <ul class="submenu"> 
        <li>sub Menu Item 1</li> 
        <li>sub Menu Item 2</li> 
        <li>sub Menu Item 3</li> 
        <li>sub Menu Item 4</li> 
        </ul> 
       </li> 

       <li>Menu Item 2 
       <ul class="submenu"> 
        <li>sub Menu Item 1</li> 
        <li>sub Menu Item 2</li> 
        <li>sub Menu Item 3</li> 
        <li>sub Menu Item 4</li> 
        </ul> 
       </li> 
       <li>Menu Item 3</li> 
       <li>Menu Item 4</li> 
       <li>Menu Item 5</li> 
      </ul> 

CSS

#menu-list 
{ 
    background:inherit; 

    } 
    #menu-list li 
    { 
     cursor:pointer; 
     border: 1px solid black; 
     position:fixed; 

     } 
    #menu-list li:hover 
    { 
     cursor:pointer; 
     visibility:visible; 
     } 
    #menu-list .submenu 
    { 
     position:fixed; 
     margin: -25px 0px 0px 100px; 
     z-index: 50; 
     visibility:hidden;  
      } 

     #menu-list li:hover .submenu 
    { 
     cursor:pointer; 
     visibility:visible; 
     position:fixed; 

     } 

子菜單我希望子菜單從父菜單的相同高度(頂部)開始,請分享一些提示,謝謝

等,鼠標懸停

list 1 --> sub-1 
list 2  sub-2 
list 3  sub-3 

list 1  sub-1 
list 2 --> sub-2 
list 3  sub-3 

http://jsfiddle.net/2HQze/

+0

你需要[this](http://jsfiddle.net/usmanz/2HQze/4/)。有關詳情,請查看我的答案。 – UsmanZ

回答

1

在你的情況,首先你需要從相對覆蓋的#menu li ul li位置值靜,喜歡的:

#menu li ul li { 
position: static; 
} 

然後,你需要給position: relative#menu li ul,如:

#menu li ul { 
position: relative; 
} 

最後給position: absolute到子菜單,在懸停,如:

#menu-list li:hover .submenu { 
position: absolute; 
top: 25px; 
} 

退房的DEMO HERE

+0

頂部?不是臨時解決方案,它可能無法在其他機器上工作 – user3237190

+0

它相對於'#menu li ul'。所以它不會在別的地方被打擾。 – UsmanZ

+0

不,它不是相對於#menu李UL行事,親切地在一個HTML文件reporduce它來確認 – user3237190

0

http://jsfiddle.net/2HQze/3/

#menu li:hover .dropdown_1column, 
#menu li:hover .dropdown_2columns, 
#menu li:hover .dropdown_3columns, 
#menu li:hover .dropdown_4columns, 
#menu li:hover .dropdown_5columns { 
left:-1px; 
top:-7px; 
    z-index:10; 

}