提问人:MoDrazzz 提问时间:11/16/2023 最后编辑:MoDrazzz 更新时间:11/16/2023 访问量:39
可滚动包装器剪切掉绝对元素
Scrollable wrapper cuts out absolute elements
问:
我遇到了一个问题,即切断可滚动列表的相对子项的绝对子项。
我的问题: https://youtu.be/uz5wmLEM04A
Live prototype: https://jsfiddle.net/n0dowLhz/
我的代码 (REACT): https://github.com/MoDrazzz/teamguru/blob/team-page/src/components/Teams/TeamMembers.tsx#L30-L34
这里也描述了这个问题。通过他们实施的四处走动,当菜单处于活动状态时,滚动后它会保持在同一位置。
解决方案是使菜单可见,无论溢出设置为自动。
<!-- Has overflow: auto; --->
<ul>
<li>
<p>Some content</p>
<!-- Must be relative --->
<div>
<button>Menu toggler</button>
<!-- Absolute --->
<div>Menu</div>
</div>
</li>
</ul>
答:
1赞
iamalinski
11/16/2023
#1
弹出元素被剪切的原因是溢出是隐藏的。解决此问题的方法是将弹出元素放在容器外部(可能在正文元素中的某个位置),并在单击时将其放置在菜单上。
编辑
重要的是在显示弹出菜单时禁用任何页面/容器滚动,并在弹出窗口隐藏时启用滚动
评论
0赞
MoDrazzz
11/16/2023
你是对的!但是你有没有注意到,在我向上/向下滚动后,菜单会保持在旧位置(点击后设置的位置)?
0赞
iamalinski
11/16/2023
诀窍是,当您打开菜单时,您必须禁用滚动:)
0赞
MoDrazzz
11/16/2023
聪明!我会试一试:)
0赞
iamalinski
11/16/2023
@MoDrazzz如果我的回答解决了您的问题,请投票并接受它,以便其他用户可以轻松解决类似的问题。
评论