【发布时间】:2015-11-25 15:40:04
【问题描述】:
这是一个制作电话菜单的脚本。当悬停#menu_button 时,#menu 需要出现。但什么也没发生。我该如何解决这个问题?
随时提出改进我的代码的建议,我是 html 和 css 的初学者。
* {
margin: 0;
padding: 0;
}
#menu {
height: 100%;
width: 100%;
background-color: skyblue;
display: none;
}
#header {
background-color: lightblue;
width: 100%;
height: 60px;
top: 0;
left: 0;
right: 0;
position: fixed;
}
#menu_button {
float: left;
width: 60px;
height: 60px;
background-image: url(img/menu_button.png);
background-size: 60px 60px;
}
#menu_button:hover #menu {
display: block;
}
<html>
<body>
<div id="header">
<div id="menu_button">
</div>
</div>
<div id="menu">
</div>
</body>
</html>
【问题讨论】:
-
因为
#menu与#menu-button无关,它不是一个孩子(如您的CSS 所建议的那样)或兄弟姐妹。实际上,您需要悬停标题才能影响#menu。 -
悬停只会影响兄弟姐妹和孩子。如果你想影响除此之外的东西,你必须使用 Javascript。
-
附带说明:如果您引用移动设备页面(电话菜单),用户通常没有机会悬停某些内容。