Примечание. Этот вопрос не касается создания настраиваемого раскрывающегося списка. Речь идет только о возможностях стилизации <option>
элементов в элементе select в CSS.
Как я могу <option>
стилизовать <select>
элементы с кросс-браузерной совместимостью? Я знаю много способов JavaScript, которые настраивают раскрывающийся список для преобразования <li>
, о которых я не спрашиваю.
<select class="select">
<option selected>Select</option>
<option>Blue</option>
<option >Red</option>
<option>Green</option>
<option>Yellow</option>
<option>Brown</option>
</select>
Я спрашиваю, что может быть возможно только с CSS, с совместимостью с IE9 +, Firefox и Chrome.
Я хочу стиль такой или как можно более близкий.
Я пробовал здесь http://jsfiddle.net/jitendravyas/juwz3/3/ , но Chrome не показывает никаких стилей, кроме цвета шрифта, а Firefox показывает еще кое-что. Как заставить работать границы и отступы в Chrome?
css
html-select
Джитендра Вьяс
источник
источник
<option>
не все выпадающая<select>
стилизовать внешний вид элемента на странице. Этот вопрос спрашивает, можете ли вы стилизовать список<option>
элементов.Ответы:
ИЗМЕНИТЬ 2015 Май
Отказ от ответственности: я взял фрагмент из ответа, приведенного ниже:
Важное обновление!
В дополнение к WebKit, начиная с Firefox 35, мы сможем использовать
appearance
свойство:Итак, теперь, чтобы скрыть стиль по умолчанию, достаточно просто добавить следующие правила в наш элемент select:
Для поддержки IE 11 вы можете использовать [
::-ms-expand
] [15].Старый ответ
К сожалению, то, о чем вы просите, невозможно при использовании чистого CSS. Однако есть нечто похожее, что вы можете обойти. Проверьте живой код ниже.
РЕДАКТИРОВАТЬ
Вот вопрос, который вы задали некоторое время назад. Как оформить раскрывающийся список <select> только с помощью CSS без JavaScript? Как там сказано, только в Chrome и в некоторой степени в Firefox вы можете добиться того, чего хотите. В противном случае, к сожалению, не существует кроссбраузерного чистого CSS-решения для стилизации выбора.
источник
<select>
. использование<div>
семантически некорректно.option
теги с помощью css, но не можете, вы можете только стилизоватьselect
тег. Что показано в этом ответеНе существует кроссбраузерного способа стилизации элементов опций, конечно, не в той мере, в какой на вашем втором снимке экрана. Вы могли бы сделать их полужирными и установить размер шрифта, но это все ...
источник
Раньше я экспериментировал с некоторыми элементами и не отменял функциональность с помощью JavaScript, я не думаю, что это возможно в Chrome. Независимо от того, используете ли вы плагин или пишете свой собственный код, только CSS не подходит для Chrome / Safari, и, как вы сказали, Firefox лучше справляется с этим.
источник