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
选项已被弃用,偏移量已合并到my
和at
选项中。 位置的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')
获取这两者的价值并改变它们,看看会发生什么:)