【发布时间】:2017-08-26 19:53:55
【问题描述】:
我有一个下拉菜单,其结构类似于下面的代码,我可以修改其 HTML 代码(也不要添加 javascript,除非可以将其潜入样式标签中)。除了“on”按钮之外的所有按钮状态按钮都应该是不可见的,直到“on”按钮被悬停在上面。此外,搜索框应该始终保持可见并且不会触发悬停事件,因为一旦有人悬停在它上面就会将其向下移动 -> 糟糕的用户体验
我在 CSS 中成功实现了这一点,但是,如您所见,当您尝试将鼠标悬停在下拉内容上时,它们开始一个接一个地消失。我该如何解决?
.status-menu .status-button.on {
display: block;
clear: both;
}
.status-menu .status-button.on:hover ~ .status-button {
display: block;
}
.status-menu .status-button {
display: none;
clear: both;
}
.status-menu .status-button:hover ~ .status-button {
display: block;
}
<div class="status-menu">
<a class="status-button on">...</a>
<a class="status-button">...</a>
<a class="status-button">...</a>
<div class="search-container">
<div id="search-box"><input type="text" value=""></div>
<a id="search-button">
<i class="fa fa-search"></i>
</a>
</div>
【问题讨论】:
-
你说你不能修改 HTML。你能添加或修改javascript吗?
-
@Rounin 很遗憾没有,除非您知道一种将 javascript 偷偷放入样式标签的方法
标签: html css drop-down-menu css-selectors