У меня есть AutoCompleteExtender ajaxtoolkit с position: absolute. Я поместил его в div с позицией: относительная. Благодаря этому раскрывающийся список расширителя идеально размещается во всех браузерах, кроме Chrome/Safari, где положение определяется относительно верхнего левого угла окна, а не div.
Когда я помещаю другой ul с тем же классом css и встроенным стилем, что и HTML, созданный для AutoCompleteExtender, позиционирование отлично работает в Chrome. Таким образом, у расширителя есть что-то особенное, что заставляет его отображать в нижней части HTML-кода (непосредственно перед конечным тегом и, следовательно, не использовать div в качестве его родителя при вычислении его позиции.
Любые идеи, что я могу сделать, чтобы исправить это?
Код:
<div class="searching">
<ajaxToolkit:AutoCompleteExtender
runat="server"
ID="biznameOrCategoryAutoComplete"
TargetControlID="txtBizNameOrCategory"
ServicePath="~/AutoComplete.asmx"
ServiceMethod="GetBiznameOrCategoryCompletionList"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="10"
CompletionListCssClass="autocomplete_completionCompyNameListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
ShowOnlyCurrentWordInCompletionListItem="true">
</ajaxToolkit:AutoCompleteExtender>
</div>
CSS:
.searching {
margin-left:5px;
padding-top:10px;
width:366px;
position: relative;
}
.autocomplete_completionCompyNameListElement {
background: #fff;
font-family:Arial, Helvetica, sans-serif;
font-size: 17px;
width: 340px !important;
left: 20px !important;
border: 1px solid #d9d9d9;
font-size: 12px;
top: 48px !important;
padding: 2px 4px !important;
}