jQuery自动完成:移动列表位置?

我想知道我是否可以将下拉列表向下移动4px?

我在.ui-autocomplete {}尝试了几种样式。

包含:

margin-top: 4px;
top: 4px

但它似乎没有工作?

这就是position选项的offset属性 :

 $('#myField').autocomplete({ source: …, position: { offset: '0 4' // Shift 0px left, 4px down. } }); 

接受的答案不再有效,因为offset选项在jQuery UI v1.9中已弃用,在v1.10中已完全删除 :

offset选项已被弃用,偏移量已合并到myat选项中。 位置的forms现在是命名位置,可选地后跟加号或减号,然后是偏移量。 此外,抵消现在支持百分比(见上文)。 您应该将offset选项的所有用法替换为my和/或at选项中的offset量。

你现在应该写:

 $(".my-autocomplete-field").autocomplete({ position: { my: "left+0 top+4", } }); 

尝试

 .ui-autocomplete { margin-top: 20px !important; top: 0px !important; } 

或者试试

 .ui-autocomplete { margin-top: 20px !important; top: auto !important; } 

看演示:

不能说我的头脑,但这取决于现有的CSS是什么…

如果位置是绝对的,则边距不会影响框…你可以做的是得到结果div $(’。ui-autocomplete’)然后将4px添加到元素的位置。

它将是:

$('.ui-autocomplete').css('bottom')$('.ui-autocomplete').css('top')

获取这两者的价值并改变它们,看看会发生什么:)