Я относительно новичок в разработке веб-сайтов, но я опытный программист, поэтому я легко могу зайти на веб-разработку. Итак, я столкнулся с чем-то, о чем мне нужно немного понять.
<!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
}
Он работает, но он работает, когда вы наведываетесь в любом месте, а не в "меню". Что мне нужно сделать, чтобы сделать это, когда вы только нависаете над частью "меню", это облегчит часть "меню"?
#menu:hover
- это то, что вам нужно. #menu:hover.inner
ищет элемент с inner
классом, который является потомком элемента с меню ID.
#menu:hover {
opacity: 0.8
}
Эта скрипка, которую я создал, покажет вам, как нацеливать объекты на состояние зависания.
/* 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.
#menu:hover
достаточно :)#menu:hover .inner
нацеливается на разные объекты. Если вы хотите получить более конкретную информацию по идентификатору и селектору классов, то сделайте это,#menu.inner:hover
. Когда вы помещаете пробел между этими двумя, вы нацеливаетесь на отдельные объекты.