【发布时间】:2022-02-19 05:16:27
【问题描述】:
我目前正在制作一个简单的悬停动作菜单(相对简单,并且在以前的应用程序中完成)。
当我将鼠标悬停以显示菜单时,一切顺利,我什至可以选择前几个元素。但是,一旦我到达第三个元素(位于包含操作面板的较大 div 的边缘),其余元素就位于页面上后面的元素之后。我试过调整 z 值,悬停菜单的定位是绝对的,子菜单嵌套在 <li> 元素中,并用不同的 html 结构多次重写。
HTML 示例
<div>
<menu aria-label='action menu'>
<li><p>{'Sort by '}<span>{sortType}</span></p>
<menu>
<li><a href='/'>{'Sort'}</a></li>
<li><a href='/'>{'Sort again'}</a></li>
<li><a href='/'>{'Sorting'}</a></li>
<li><a href='/'>{'Sorted'}</a></li>
</menu>
</li>
</menu>
</div>
CSS 示例:
> div {
margin-right: 16px;
display: flex;
position: relative;
flex-direction: column;
justify-content: center;
height: 100%;
> menu {
display: block;
list-style: none;
> li {
width: 100%;
position: relative;
> menu {
list-style: none;
display: list-item;
position: absolute;
right: 0;
> a {
display: block;
width: 100%;
}
}
&:hover {
> menu {
display: list-item;
position: absolute;
right: 0;
> li {
display: block;
> a {
display: block;
width: 100%;
}
}
}
}
}
}
}
}
【问题讨论】:
-
我无法仅使用该代码重现问题。