【发布时间】:2022-12-17 13:15:29
【问题描述】:
当我将鼠标悬停在跨度上时,下拉菜单未显示
.user {
position: relative;
top: 9px;
margin-left: 50px;
}
.user .user-name {
position: relative;
top: -20px;
margin-left: 25px;
color: #1E1E2D;
}
.user .user-name::before {
content: "";
border: 5px solid transparent;
width: 5px;
height: 10px;
border-top-color: black;
position: relative;
top: 14px;
left: -3px;
}
.user span:hover .user-list {
display: block;
}
.user ul {
position: absolute;
background-color: white;
top: 45px;
left: 70px;
width: 200px;
padding: 18px;
box-shadow: -6px 13px 20px 8px #eee;
display: none;
list-style-type: none;
z-index: 1;
}
<div class="nav">
<div class="user">
<img src="assest/user.png" alt="" srcset="">
<span id="show" class="user-name">Name</span>
<ul class="user-list">
<li><a href="">Home</a></li>
<li><a href="">Account</a></li>
<li><a href="">LogOut</a></li>
</ul>
</div>
</div>
我原以为当我将鼠标悬停在跨度上时会显示下拉菜单,但它没有发生。 我试图用“div”或“p”替换“span”,但它也不起作用。
【问题讨论】:
-
但是如果你希望触发器是那个确切的跨度,你应该使用像
.user span:hover + .user-list这样的选择器,因为 .userlist 是兄弟而不是后代