0

我在 MVC Razor 中创建了一个页面,其中包含一个文本框,并且具有自动完成功能。我的问题是自动完成结果在第一次使用时出现在文本框下方(如图所示,但随后出现在正确的位置(即正好在文本框下方)。为什么会这样?

我的CSS如下:

.ui-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2000;
    float: left;
    display: block;
    min-width: 160px;
    _width: 160px;
    padding: 0px 0;
    margin: 2px 0 0 0;
    list-style: none outside none;
    background-color: #ffffff;
    border-color: #ccc;
    border-color: rgba(0, 0, 0, 0.2);
    border-style: solid;
    border-width: 1px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
    *border-right-width: 2px;
    *border-bottom-width: 2px;
}

我的HTML如下:

<input class="contentPicker input-xxlarge ui-autocomplete-input valid"
    id="Content" name="Content" placeholder="Select a content"
    type="text" value="" autocomplete="off">
4

1 回答 1

1

您不应该覆盖来自 jquery ui 的任何定位 css。当然,它会让事情变得怪异。

第一次显示列表时,正在读取您的 css,但随后的搜索可能会用内联样式覆盖您的 css

jquery-ui是一个即插即用的解决方案,如果您在页面中包含 jquery-ui css 文件,您不需要做任何事情。他们有一个非常先进的主题滚轮,可以为您处理所有样式,因此您不必弄乱它

于 2013-07-27T09:37:26.640 回答