2011-08-28 29 views
1

我有一個這樣的:Overlaping其不能被固定

<div id="header"> 
    <ul id="menu-li"> 
     <li class="menu-li with-sublist"> 
      <a class="left" href="#">A</a> 
      <ul class="submenu-list"> 
       <li><a href="#">A1</a></li> 
       <li><a href="#">A2</a></li> 
       <li><a href="#">A3</a></li> 
      </ul>  
     </li> 
     <li class="menu-li"><a class="middle" href="#">B</a></li> 
     <li class="menu-li"><a class="middle" href="#">C</a></li> 
     <li class="menu-li"><a class="right" href="#">D</a></li> 
     <li class="clear"><!-- --></li> 
    </ul> 
</div> 

<div id="main-content"> 
<!-- jquery cycle and more stuff here --> 
</div> 

.menu-li是水平列表,li元件具有float:left。因此,.submenu-list垂直填充,並在#main-content div上重疊,其中包含jquery循環的slideshow。問題是.submenu-list出現在#main-content的後面 - 顯然我希望它在上面顯示。

我嘗試了很多z-index實驗,但沒有運氣。我傾向於懷疑別的東西是錯的。

有什麼想法嗎?

+0

你可以在http://jsfiddle.net上發帖嗎? – arnaud576875

+0

你可以包括你的樣式表嗎? – fluffy

回答

1

如果你想使用z-index不要忘了包括position無論是絕對或相對(而不能直接在元素中使用float,但你可以把另一個元素在此元素的頂部,如:http://jsfiddle.net/toopay/xLk8a/

+0

在'#header'中的位置相對於'submenu-list'中的適當z-index做出了交易! :) 謝謝 – nonouco

1

在這種情況下,z-index將不起作用,因爲ul.submenu-list元素受到標題元素高度的約束。您必須使用絕對值position,然後根據li位置動態設置元素的topleft屬性。