2010-03-30 65 views
21

我正在寻找在容器div中水平排序我的div。我在JQuery网站上发现了一个example,但这是垂直排序。我想要水平。如何在JQuery中使用Sortable水平排序div

我想在#sortable Div中进行排序。

请你指导我如何以水平方式转换此垂直排序。

CSS

<style type="text/css"> 
    #draggable1 { width: 150px; height: 35px; padding: 0.5em; } 
    #draggable2 { width: 150px; height: 35px; padding: 0.5em; } 
    #draggable3 { width: 150px; height: 35px; padding: 0.5em; } 

    #sortable { width: 700px; height: 35px; padding: 0.5em; } 
</style> 

的JavaScript

<script type="text/javascript"> 
    $(function() { 
     $("#sortable").sortable({ 
      revert: true 
     }); 
    }); 
</script> 

HTML

<div class="demo"> 
    <div id="sortable" class="ui-state-default"> 
     <div id = "draggable1" class="ui-state-default">Home</div> 
     <div id = "draggable2" class="ui-state-default">Contact Us</div> 
     <div id = "draggable3" class="ui-state-default">FAQs</div> 
    </div> 
</div> 

截图 alt text http://i40.tinypic.com/351xsfc.jpg

回答

25

你可以只添加此CSS风格:

#sortable>div { float: left; } 

而且他们将水平,仍然可排序。 You can see a demo of it in action here

+1

它的工作原理,谢谢:) – 2010-03-30 10:25:19

+0

这是浏览器兼容性的最佳答案。不要忘记用float:left设置你的占位符的样式。如果您将动态项目添加到列表中,则可能还需要在列表底部管理一个“clear:both”div以保留列表本身的体积/高度。 – 2015-06-04 16:07:56

4

虽然float:left作品,在这里我想还是用display:inline-table为div的,这样你就不会失去你的div的音量...

3

只需添加到您的CSS:display: inline-block;