这似乎是一个常见的问题,但由于某种原因我根本想不出解决方案。
我正在构建一个需要拖放功能的网站。但是,滑块中有多个项目。显然,滑块具有overflow hidden
并且relative positioning
在其中,因此滑块可以工作。
这两个属性的组合意味着当从 div 中拖动一个图像时,它会被溢出截断。如果没有相对定位,则溢出不会影响被拖动的元素。
但是,我很确定每个滑块/滑动器都会具有相对定位以及隐藏溢出,因为它们需要它们才能正常工作。
但是,谁能想到解决办法?
这是该站点的简化测试用例。我没有包含滑块 js,但是带有位置/溢出的基本 css 可以显示问题。
对于那些希望检查代码的人,我使用的滑块是swipe.js。
从 中删除位置.items
.item
并将.site-wrap
向您展示拖放仍然如何与overflow: hidden
.
[编辑]
我注意到一旦开始被拖动,jQuery UI 就会向元素添加一个类。我开始思考是否有办法锁定它来改变那个特定元素的溢出值。但是将其更改为overflow: none
似乎没有任何作用,问题似乎出在两个父元素上,这当然不能更改,因为用户可以拖放多个项目。