Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS:为什么不能使用img:hover来显示下拉菜单_Html_Css - Fatal编程技术网

Html CSS:为什么不能使用img:hover来显示下拉菜单

Html CSS:为什么不能使用img:hover来显示下拉菜单,html,css,Html,Css,我想执行一个操作,当我将鼠标悬停在图像上时,将显示下拉菜单 下面的代码工作正常 HTML、CSS: 菜单{ 位置:相对位置; 显示:内联块; } .菜单.下拉菜单{ 位置:绝对位置; 最高:100%; 左:0; 保证金:0; 显示:无; } .菜单:悬停.下拉菜单{ 显示:块; } 基于此结构: <div class="menu"> <img src="icon.jpg" id="menu-icon" alt="menu-icon"></im

我想执行一个操作,当我将鼠标悬停在图像上时,将显示下拉菜单

下面的代码工作正常

HTML、CSS:

菜单{
位置:相对位置;
显示:内联块;
}
.菜单.下拉菜单{
位置:绝对位置;
最高:100%;
左:0;
保证金:0;
显示:无;
}
.菜单:悬停.下拉菜单{
显示:块;
}


基于此结构:

<div class="menu">      
<img src="icon.jpg" id="menu-icon" alt="menu-icon"></img>
<ul class="dropdown-menu">
<li><a href="#home">Account</a></li>   
</ul>
</div>
您使用的
.menu图标
.dropdown menu
之间的空间假定菜单是图像的子菜单,而不是图像的子菜单

菜单是下一个同级菜单,使用
+
组合器选择


我想补充一点,使用鼠标悬停作为显示菜单的唯一方式并不十分方便用户。如果不使用鼠标,则无法与菜单交互。此外,即使使用鼠标,也很难进行交互,因为一旦鼠标没有实际悬停,菜单就会关闭


我建议尝试其他方法,或者添加一些JavaScript来提高可访问性

像这样做
#菜单图标:hover+。下拉菜单{
这是一个后代选择器。您没有后代。
#menu-icon:hover + .dropdown-menu {
display:block;  
}