В выпадающем меню есть повторяющаяся проблема при выпадении

0

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>
Теги:
repeat
menu

2 ответа

1
Лучший ответ

Прежде всего вам нужно добавить фон: красный; или любой цвет, который вы хотели бы добавить к своей декларации #cssmenu li ul... В настоящее время вы устанавливаете фоновое изображение на все UL, так что ваша первая под-ul также получает это (каскадирование). Тогда вам просто нужно добавить любой светло-красный (я использую оранжевый в качестве примера), который вы хотели бы использовать в качестве эффекта наведения для декларации li, чтобы он получил правильный стиль.

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

#cssmenu li ul li a:hover {
    background: orange;
}
  • 0
    @ user2759665 Sub-ul прямо в моем примере кода. Я не уверен, что вы имеете в виду под «я не уверен, что и как я должен кодировать в подпункте ul» ... все, что я сделал, это взял ваше текущее объявление и добавил background: red;
0

проблема в этом классе: #cssmenu ul

в соответствии с этим классом вы устанавливаете фон для всех ul после #cssmenu, поэтому в раскрывающемся меню есть фон. для исправления этой проблемы вам нужно добавить еще один класс:

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

вот скрипка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню