DropDown菜单在下拉列表中有重复问题

时间:2013-09-24 15:12:50

标签: html css menu repeat

http://jsfiddle.net/Just1End/BTLXS/

如果您查看上面的链接,您会看到下拉菜单很奇怪。每个下拉列表的第一项始终以图像突出显示....当您将鼠标悬停在项目上时(在下拉列表中),它们将被赋予图像。你能帮我弄明白我是怎么做到的,这样下拉的佩戴颜色仍然保持红色,并在悬停时变为浅红色。我也不希望图像出现在第一个项目上。有点奇怪。这也是我在下拉菜单中的第一次尝试,我真的很想帮忙。感谢

代码:

<html>
<head>
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'>    </script>
<style>
#cssmenu ul {
  list-style-type: none;
  position: relative;
  display: block;
  font-size: 12px;
  background: url(http://minecraft-serverlist.org/e-scape/bg.png) repeat-x top left;
  font-family: Verdana, Helvetica, Arial, sans-serif;
  border: 1px solid #000;
  margin: 0;
  padding: 0;
  width: auto;
}
 #cssmenu li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
  #cssmenu li ul {
     position: absolute;
    display: none;
}

#cssmenu li ul li {
    display: block;
}

 #cssmenu li:hover ul {
    display: block;
 }
#cssmenu li a {
  display: block;
  color: #A79787;
  text-decoration: none;
  padding: 9px 15px;
  font-weight: normal;
 }
#cssmenu li a:hover,
#cssmenu .active {
  color: #fff;
  background: url(http://minecraft-serverlist.org/e-scape/bg.png) repeat-x top left;
  text-decoration: none;
}
 #cssmenu .active a {
  color: #fff;
  font-weight: 700;
}
#cssmenu ul {
  background-color: #B11718;
}
#cssmenu li a:hover,
#cssmenu li.active {
  background-color: #DE3330;
}
</style>
</head>
<body>
<div id='cssmenu'>
<ul>
   <li><a href='index.html'><span>Home</span></a></li>
   <li><a href='team'><span>Team</span></a>
       <ul>
            <li><a href='team'>Team</a></li>
            <li><a href='team'>Team2</a></li>
            <li><a href='team'>Team3</a></li>
       </ul>
   </li>
   <li><a href='sponsors'><span>Sponsors</span></a></li>
   <li><a href='first'><span>First</span></a></li>
   <li><a href='contact-us'><span>Contact Us</span></a></li>
   <li class='last'><a href='handouts'><span>Handouts</span></a></li>
</ul>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

首先,你需要添加背景:红色;或者您希望#cssmenu li ul声明的任何颜色...目前您正在所有UL上设置背景图像,因此您的第一个sub-ul也接收到它(级联)。然后你只需要添加任何浅红色(我使用橙色作为示例)你想要作为悬停效果的li l li声明,以便它接收正确的样式。

#cssmenu li ul {
    position: absolute;
    display: none;
    background: red;
}

#cssmenu li ul li a:hover {
    background: orange;
}

答案 1 :(得分:0)

问题在于此课程:#cssmenu ul

根据此课程,您可以在ul之后为所有#cssmenu设置背景,因此下拉菜单会显示背景。要解决此问题,您需要添加另一个类:

#cssmenu ul li ul{
    background:#B11718;
}

这是一个fiddle.