Наведите курсор на конкретный div

0

Я относительно новичок в разработке веб-сайтов, но я опытный программист, поэтому я легко могу зайти на веб-разработку. Итак, я столкнулся с чем-то, о чем мне нужно немного понять.

<!DOCTYPE html>
<html>
<body>

<style>
#menu:hover .inner {
    opacity: 0.8
}
</style>

<div id="container" style="width:500px">

<div id="header" style="background-color:#ccdbe8;">
<h1 style="margin-bottom:0;">title</h1></div>

<div id="menu" class="inner" style="color:white;background-color:#4e81b1;height:200px;width:100px;float:left;">
<b>Menu</b><br>
HTML<br>
CSS<br>
JavaScript</div>

<div id="content" style="color:white;background-color:#1c5d9b;height:200px;width:400px;float:left;">
Content goes here</div>

<div id="footer" style="background-color:#ccdbe8;clear:both;text-align:center;">
Copyright ? W3Schools.com</div>

</div>

</body>

</html>

Я пытаюсь это сделать, когда я нахожу "меню" специально, это сделает фон "меню" немного легче, отсюда непрозрачность. Однако это не работает, оно даже не делает ничего более легким.

Если я изменю:

#menu:hover .inner {
    opacity: 0.8
}

Для того, чтобы:

#container:hover .inner {
    opacity: 0.8
}

Он работает, но он работает, когда вы наведываетесь в любом месте, а не в "меню". Что мне нужно сделать, чтобы сделать это, когда вы только нависаете над частью "меню", это облегчит часть "меню"?

  • 4
    #menu:hover достаточно :)
  • 1
    Эта строка #menu:hover .inner нацеливается на разные объекты. Если вы хотите получить более конкретную информацию по идентификатору и селектору классов, то сделайте это, #menu.inner:hover . Когда вы помещаете пробел между этими двумя, вы нацеливаетесь на отдельные объекты.
Показать ещё 1 комментарий
Теги:

2 ответа

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

#menu:hover - это то, что вам нужно. #menu:hover.inner ищет элемент с inner классом, который является потомком элемента с меню ID.

#menu:hover {
    opacity: 0.8
}

Пример jsFiddle

1

Эта скрипка, которую я создал, покажет вам, как нацеливать объекты на состояние зависания.

/* hovers */

.parent:hover { /* no matter where you hover in the parent this will happen */
    background: mediumSeaGreen;
}

.parent:hover .inner { /* if the parent is hovered on then make this change to .inner */
    opacity: 0.6;
}

#menu.alt:hover { /* selecting an object with an id of menu and a class of alt to make these changes */
    background: mediumSlateBlue;
}

.alt:hover { /* basic hover state */
    border-left: 10px solid brown;
}

Вот скрипка для игры, JSFIDDLE.

Ещё вопросы

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