首页 > 拖拽事件的目标节点的position值一定要为absolute吗?

拖拽事件的目标节点的position值一定要为absolute吗?

问题如上

我将要拖拽的li设置为absolute,结果所有li重叠在一起了。
是否有更好办法解决?谢谢


absolute 是脱离文档流的,拖拽发生时如果设置 absolute,则必然会触发浏览器重新排版,后方的元素会填充被拖拽元素的位置,不知道这是不是你想表达的堆叠在一起的概念?

如果你不想让被拖拽的元素脱离文档流,可以使用 relative 为拖拽元素定位,这样被拖拽元素仍然会在文档流中保留自身的位置。


可以先在css中利用浮动原理给li进行布局,再在js中给li中设置absolute…进行布局转换(top和left为浮动时的值),这样既可以实现拖拽所需条件我不会挤作一团了


1、初始化的时候设置每一项的位置!
2、用relative,拖拽的时候得改变dom的位置,动态刷新,否则,布局就会混乱,可以参考jqueryui中的sortable来实现!


可以用j写一个布局转换,在css中先不用absolte,等li加载完再给li一个绝对定位,并且top和left的值就是刚刚页面加载时的值,这样布局就不会乱了,而且拖拽也不会影响

【热门文章】
【热门文章】