Я прочитал много вопросов о стилизации автозаполнения jQuery UI, однако у меня все еще есть проблема, которую я не могу решить. Я создаю пользовательский рендеринг, как это:Styling links in jQuery UI autocomplete results
$('.license-input').autocomplete({
source: "{{url(LaravelLocalization::getCurrentLocale().'/ajax/license')}}",
minLength: 2,
delay: 250
}).autocomplete('instance')._renderItem = function(ul, item) {
return $('<li>')
.append('<a href="' + item.url + '">' + item.name + '</a>')
.appendTo(ul);
};
Так что мои <li>
элементов содержат ссылки.
Теперь я хочу, чтобы стиль выпадающего меню, и я использую следующие CSS (я преувеличил цвета для наглядности):
ul.ui-autocomplete li
{
border:none;
background-color:#f505f5;
padding:10px 16px;
font-size:12px;
outline:0;
}
ul.ui-autocomplete li:hover
{
background-color:#05e5e5;
}
ul.ui-autocomplete li a
{
border:none;
background-color: #f505f5;
}
ul.ui-autocomplete li:hover a
{
border:none;
background-color: #05e5e5;
}
Однако ссылки не получают стиль. Что озадачивает меня больше всего то, что я вижу при проверке результата в отладчике Хрома:
Вы можете видеть, что вычисленная стиль для активного <a>
элемента является синим цветом, однако сам элемент имеет белый фон. Что это за белая вещь, которую я должен стилизовать?
Я уже пробовал различные селекторы, такие как .ui-state-active
, .ui-state-hover
, ui-state-focus
, ul.ui-autocomplete li a:hover
и другие.
Примечание: правило border: none;
от ul.ui-autocomplete li:hover a
фактически применяется - без него стиль выглядит по-другому (имеет 1px черную рамку вокруг ссылки). Итак, единственная проблема - это фон.
Nice ястреб глаз! Я полностью упустил это имущество. Для записи: в итоге я использовал селектор 'ul.ui-autocomplete li: hover a, ul.ui-autocomplete li a.ui-state-active' для зависания/активного состояния. Поскольку класс 'ui-state-active' применяется к элементу на париках, но он отстает от фактического наведения, поэтому мне пришлось ставить правила в обоих случаях, чтобы предотвратить мигание другого форматирования на моментах мыши и мыши. –