我正在使用拖放式jQuery ui来创建表单输入,但是将元素拖到正确的div后面时z-index存在问题,但是将其删除后可见。那么如何解决此问题以使元素在拖动时在正确的div上可见
JSFIDDLE
在JS中
$('#main1 div').draggable({ cursor: 'pointer', connectWith: '.dropme2', helper: 'clone', zIndex: 10 }); $('.dropme2 form').sortable({ connectWith: '.dropme', cursor: 'pointer', zIndex: 1000 });
的HTML
YouTube videoParagraph
的CSS
#trash, #main1 { display: inline-block; width: 250px; min-height: 100px; overflow: hidden; float: left; margin-right: 30px; background: rgb(236, 237, 240); } #trash { width: 300px; float: right; position: relative; z-index: 1; } #main1 { float: none; position: fixed; top: 30px; left: 30px; z-index: 9; } #main1 div { list-style: none; margin-bottom: 2px; background-color: #7F7F87; padding-left: 30px; width: 230px; cursor: -webkit-grab; color: #fff; font-size: 18px; height: 40px; line-height: 40px; float: left; position: relative; z-index: 10; } #trash form > div { height: auto; width: 97%; margin-bottom: 2px; background-color: #7F7F87; padding-left: 30px; cursor: -webkit-grab; color: #fff; font-size: 18px; line-height: 40px; position: relative; z-index: 10; } .highlight { padding: 5px; border: 2px dotted #fff09f; background: #fffef5; }
Josh Crozier.. 5
问题与z-index
财产无关。您看到此行为的原因是因为您已overflow: hidden
对容器#trash
和#main
元素进行了设置。
如果您希望能够将元素拖出其容器元素,overflow
则应将该属性设置为visible
(默认值)。因此,您可以简单地删除overflow: hidden
。
更新示例
附带说明一下,我box-sizing: border-box
在元素的宽度/高度计算中添加了padding
/ border
。我相信您可能已添加overflow: hidden
以防止元素扩展到其父元素之外。通过添加box-sizing: border-box
,并使元素的宽度为100%
,可以解决此问题。
问题与z-index
财产无关。您看到此行为的原因是因为您已overflow: hidden
对容器#trash
和#main
元素进行了设置。
如果您希望能够将元素拖出其容器元素,overflow
则应将该属性设置为visible
(默认值)。因此,您可以简单地删除overflow: hidden
。
更新示例
附带说明一下,我box-sizing: border-box
在元素的宽度/高度计算中添加了padding
/ border
。我相信您可能已添加overflow: hidden
以防止元素扩展到其父元素之外。通过添加box-sizing: border-box
,并使元素的宽度为100%
,可以解决此问题。