#css #hover
#css #наведение
Вопрос:
Я пытаюсь написать поведение кнопки меню «гамбургер» для своего веб-сайта. Я хочу, чтобы на панели навигации отображались заголовок и кнопка меню. Когда пользователь нажимает на кнопку, я бы хотел, чтобы заголовок скрывался, а два пункта меню отображались.
Это не звучит сложно, но я не могу сделать это правильно.
Упрощение html заключается в
<div id="container">
<div id="button">B</div>
<div id="menu1">Menu 1</div>
<div id="title">Title</div>
<div id="menu2">Menu 2</div>
<div style="clear: both;"> </div>
</div>
и css является
div {border:1px solid black;}
#menu1, #title, #menu2 {float:left;}
#button {float:right;}
#menu1, #menu2 {
width:40%;
display:none;
}
#title {
width:80%;
display:block;
}
#button:hover #menu1,
#button:hover #menu2 {
display:block;
}
#button:hover #title {
display:none;
}
Вот jsfiffle этого кода.
Где я ошибаюсь?
Комментарии:
1. Нажатие на
#title
элемент должно заставить элементы#menu1
и#menu2
отображаться (и скрывать#title
сам)?2. Спасибо @DavidThomas, это был бы простой выход (чтобы я мог писать правила на основе #container, такие как
#container:hover > #title {display:none;}
. Хотя это не очень элегантно. Как вы думаете, возможно ли запустить процесс только с помощью #button?3. jsfiddle.net/MBLZx Надеюсь, это поможет вам 🙂