Подтвердить что ты не робот

CSS: выбранный псевдокласс похож на: checked, но для элементов <select>

Есть ли способ стилизовать текущий элемент <option> в элементе <select>?

Затем я мог бы задать цвет фона для выбранного элемента выбора? Таким образом, я могу настроить параметр, который в настоящее время просматривается в закрытом раскрывающемся списке.

4b9b3361

Ответ 1

псевдокласс класса :checked первоначально применяется к таким элементам, которые имеют атрибуты HTML4 selected и checked

Источник: w3.org


Итак, этот CSS работает, хотя стиль color невозможен в каждом браузере:

option:checked { color: red; }

Пример этого в действии, скрывая текущий выбранный элемент из выпадающего списка.

option:checked { display:none; }
<select>
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>

Ответ 2

На самом деле вы можете создавать только несколько свойств CSS: измененные элементы элементов. color не работает, background-color, но вы можете установить background-image.

Вы можете связать это с градиентами, чтобы сделать трюк.

option:hover,
option:focus,
option:active,
option:checked {
  background: linear-gradient(#5A2569, #5A2569);
}
<select>
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>

Ответ 3

Это сработало для меня:

select option {
   color: black;
}
select:not(:checked) {
   color: gray;
}