2016-10-05 5 views
0

Я пытаюсь создать фоновое изображение для раскрывающихся меню. Я преуспел, но ширина не работает. Как вы можете видеть в Fiddle, я дал ширину последнему параметру в раскрывающемся списке, но он скрывает текст при наведении курсора мыши. Если бы я не дал ширину, следующие изображения приближаются. (Для Ex: второй вариант).Как разместить фоновое изображение в раскрывающемся меню

Так что мой вопрос: как я могу получить фоновое изображение в начале параметров? (Как, как это отображение в варианте третьего ЗАКРЫТО)

HTML

<select class="select_filter" id="actif_search" style="width:140px; padding:5px 22px 6px 6px;"> 
    <option value="1" style="padding-left:15px;" selected>ACTIVE</option> 
    <option value="2" class="open">OPEN</option> 
    <option value="3" class="closed">CLOSED</option> 
    <option value="4" class="pending">PENDING</option> 
</select> 

CSS

#actif_search .open{ 
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -11px -57px; 
    padding-left: 20px !important; 
    margin-left: -5px; 
} 
#actif_search .closed{ 
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -51px -57px; 
    padding-left: 20px !important; 
    margin-left: -5px; 
} 
#actif_search .pending{ 
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -30px -57px; 
    padding-left: 20px !important; 
    margin-left: -5px; 
    width: 5px; 
} 
+1

не работает в хроме на OSX. В настройках нет изображений. Я считаю, что единственный способ сделать это - не использовать собственный элемент управления select. Если вы уверены, что это хорошая идея, используйте что-то вроде https://github.com/hernansartorio/jquery-nice-select или https://silviomoreto.github.io/bootstrap-select/examples/. –

+0

и в хромированном виде в окнах. FYI, это будет иметь проблемы совместимости. –

+0

Я пытаюсь с Firefox. Итак, какое решение лучше всего использовать во всех браузерах? –

ответ

1

<option> элементы, как правило, оказывают ОС и применение стилей на них будет терпят неудачу большую часть времени. Нет никаких решений для перекрестного браузера, по крайней мере, в той мере, в какой они не используют разные фоновые изображения для каждой опции.

В качестве обходного пути вы можете использовать технику замены с помощью javascript. Библиотека, которую я иногда использовал, - Select2 (есть также использование an example с изображениями для флагов).

Наконец есть также взглянуть на этот вопрос и ответы: How to style the <option> with only CSS? [duplicate]

 Смежные вопросы

  • Нет связанных вопросов^_^