У меня есть выпадающее меню с подменю, состоящее из списков:
<ul>
<li class="list_item">Item 1</li>
<li class="list_item">Item 2</li>
<ul>
<li class="sub_list_item">Sub Item 1</li>
<li class="sub_list_item">Sub Item 2</li>
</ul>
<li class="list_item">Item 3</li>
</ul>
Мои CSS изменяют background-color
этих элементов при зависании. То, что я хочу сделать, это сохранить цвет фона Item 2
пока он парит над любым Sub Item
Любой простой способ сделать это?
CSS:
.list_item:hover {
background-color:green;
}
.sub_list_item:hover {
background-color:yellow;
}
Оберните элемент 2 вокруг своего <ul>
<ul>
<li class="list_item">Item 1</li>
<li class="list_item">Item 2
<ul>
<li class="sub_list_item">Sub Item 1</li>
<li class="sub_list_item">Sub Item 2</li>
</ul>
</li>
<li class="list_item">Item 3</li>
</ul>
Вы можете использовать непосредственный дочерний селектор >
для таргетинга определенного li
в противоположность любым данным li
или ul
.
jsFiddle здесь - меню, которое я сделал несколько недель назад
Пример использования:
#menu > ul > li:hover {
background: #2580a2;
}
Измените код и css
<ul class="item">
<li class="list_item">Item 1</li>
<li class="list_item">Item 2</li>
<ul>
<li class="sub_list_item">Sub Item 1</li>
<li class="sub_list_item">Sub Item 2</li>
</ul>
<li class="list_item">Item 3</li>
</ul>
CSS - это
.item
{
color: #000000;
list-style-type: disc;
}
.item li:hover
{
color: #FFFFFF;
background-color: #336600;
}
.item ul li:hover
{
color: #FFFFFF;
background-color: #FF0000;
}
Наслаждайтесь... и выбирайте свой цвет, как вам нравится
для более подробной информации посетите http://www.mr-sudhir.com/blog/what-is-css.aspx
a