2012-09-03 33 views
0

我创建了一个使用javascript的导航菜单。我在主菜单中的部分下拉菜单,但是当我点击箭头它只显示下拉到div的结束(见图片):下拉菜单出现在div外的其他内容后面

enter image description here

我怎样才能得到它所以下拉菜单显示在最上面。我已尝试溢出:可见,但这似乎并没有工作。

HTML:

<div id="top_bar"> 
<div id="top_inner"> 
<div id="logo"> <a href="http://www.edosbornephotography.com"><img src="images/logo.gif" alt="Ed Osborne" width="220" height="100" class="logo"></a></div> 
<div class="nav"> 
<ul class = "menu" > 
      <li> <a href = "#" > Home </a> </li> 
      <li><a href = "#" > Tutorials </a> 
     <ul class = "submenu" > 
      <li> <a href = "#" > CSS </a> </li> 
      <li> <a href = "#"> Javascript </a> </li> 
      <li> <a href = "#" > jQuery </a> </li> 
      <li> <a href = "#"> HTML </a> </li> 
      <li> <a href = "#" > PHP </a> </li> 
     </ul> 
     </li> 

CSS:

.nav { 
margin: 0 auto; 
position: relative; 
padding-top: 85px; 
} 

ul.menu { 
list-style: none; 
padding: 0 22px; 
margin: 0; 
float: left; 
background: #222; 
font-size: 1.2em; 
background: url(../images/topnav_bg.gif) repeat-x; 
} 

ul.menu li { 
float: left; 
margin: 0; 
padding: 0 15px 0 0; 
position: relative; 
} 

ul.menu li ul.submenu { 
list-style: none; 
position: absolute; 
left: 0; top: 35px; 
background: #333; 
margin: 0; padding: 0; 
display: none; 
float: left; 
width: 170px; 
-moz-border-radius-bottomleft: 5px; 
-moz-border-radius-bottomright: 5px; 
-webkit-border-bottom-left-radius: 5px; 
-webkit-border-bottom-right-radius: 5px; 
border: 1px solid #111; 
} 

ul.menu li ul.submenu li{ 
margin: 0; padding: 0; 
border-top: 1px solid #252525; 
border-bottom: 1px solid #444; 
clear: both; 
width: 170px; 
} 

html ul.menu li ul.submenu li a { 
float: left; 
width: 145px; 
background: #333 url(../images/dropdown_linkbg.gif) no-repeat 10px center; 
padding-left: 20px; 
} 

回答

3

你需要

ul.menu li ul.submenu { 
z-index: 5000; // <-- ADD THIS 
list-style: none; 
position: absolute; 
left: 0; top: 35px; 
background: #333; 
margin: 0; padding: 0; 
display: none; 
float: left; 
width: 170px; 
-moz-border-radius-bottomleft: 5px; 
-moz-border-radius-bottomright: 5px; 
-webkit-border-bottom-left-radius: 5px; 
-webkit-border-bottom-right-radius: 5px; 
border: 1px solid #111; 
} 

----编辑根据您的评论使用Z-指数在子菜单标签以下----

等待 - 我认为我们根据您的评论误导了您 - 您希望子菜单向上移动,以便它位于现有菜单的上方? (相对于页面上的内容上面?)如果是这样,你需要做的子菜单上的这样一个负的margin-top:

ul.submenu { 
    margin-top:-2em; // adjust me (use 'em' to scale w/ font size adjustments) 
} 

需要“的立场:绝对的;”对于这个工作,但你已经有这个类在你的CSS

+0

谢谢你,但它没有出现工作 – user1278496

+0

也许不是你的问题在这里,但不使用属性name = value对之间的空格。 IE 应该读 jtheman

+0

好吧,但是什么原因呢? – user1278496

1

我相信答案是z-索引,但z-索引只适用于positoned元素。如果添加

ul.menu li ul.submenu { 
    z-index: 5000; 
    position: relative; 

它shoukd工作}

相关问题