【发布时间】:2018-07-31 12:34:20
【问题描述】:
检查小提琴:https://jsfiddle.net/Ltc246wx/35/
<div id="sortable">
<div class="widget">
ggg
</div>
<div class="widget">
pppp
</div>
<div class="widget">
ttt
</div>
<div class="widget">
yyyy
</div>
<div class="widget">
sds
</div>
<div class="widget">
sdfsg
</div>
<div class="widget">
vbbbbb
</div>
<div class="widget">
mmmm
</div>
<div class="widget">
nnn
</div>
<div class="widget">
zzzz
</div>
</div>
CSS:
.widget{
background-color: red;
margin: 5px 5px 10px 5px;
padding: 0;
min-width: 200px;
width: 200px;
height: 100px;
display: inline-block;
vertical-align: top;
/*float:left;*/
}
#sortable{
width:100%;
height:100%;
}
js:
$(document).ready(function() {
$(function() {
$( "#sortable" ).sortable();
});
$(function() {
$('.widget').resizable();
});
});
我已经尝试了几个小时,但我无法弄清楚如何做出我想要的行为。
如果我调整“mmmm” div 的大小以获得更高的高度,下面的整行就会被向下推。我希望“mmmm” div 获得更高的高度,并且“zzzz” div 保持在其位置。请注意,jquery sortable 可以按我的意愿工作,但不能调整大小。
如果我使用 float:left 而不是 display: inline-block;和垂直对齐:顶部;。在这里摆弄:https://jsfiddle.net/Ltc246wx/36/。
但是,当调整大小时,右侧的所有 div 仍然会影响下面的整行。在右侧的每个 div 上使用 float:right 直到修复此行为,但它会使 Jquery 可排序无法在该 div 上工作。
有什么建议吗?我希望我已经足够清楚我希望它如何工作。
【问题讨论】:
-
认为您需要使用 masonry 插件来获得您想要的行为 - 也许将其绑定到调整大小结束事件
-
谢谢。有时间我会试一试,然后报告进展情况。
标签: html css jquery-ui jquery-ui-sortable jquery-ui-resizable