小提琴:http://jsfiddle.net/RqE2p/
有sortable()
个内联文字元素列表。元素是“第一”,“第二”,......等。其中一些问题(在我的情况下,例如“五号”和“二号”,但它取决于我认为的当前浏览器缩放)是一旦我开始拖动它,第二个单词转到第二行。
这是因为拖动时元素的宽度会发生变化。在Chrome Inspector,Computed Styles中,拖动前的“五号”宽度为75.19999px。拖动开始后,计算出的宽度为75px。所以,第二个单词不再适合第一行了。
对于此示例,我仅在Chrome中遇到问题。但在现实生活中,这也发生在FF中。我不知道,为什么在这个例子中,FF都可以。
是否有任何简单的方法来处理这个问题,除了制作一个javascript循环并将每个可排序元素的css宽度设置为当前宽度的1.1倍?
答案 0 :(得分:2)
您可以使用CSS直接调整它,而无需涉及JavaScript: 最简单的解决方案是设置ul lis的高度并设置no-wrap以确保文本整齐地保持在一行:
ul li {
height: 20px;
white-space: nowrap;
}
这可以解决您的问题:)享受使用sortable!
编辑:你能提供更多细节吗?如果lis设置为white-space:nowrap;除非CSS被覆盖,否则你的文本不应该转到第二行。如果它为你的白色空间添加了一个重要的标签:nowrap; (例如,white-space:nowrap!important;)。它正在Chrome上放大110 +%