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

Styling отключен <select> (выпадающие окна) в HTML

Один из наших клиентов с трудом читает серый текст в отключенных элементах управления в нашем веб-приложении:

IE9 example

Мы хотели бы изменить стиль на светло-серый фон и черный текст. К сожалению, большинство браузеров (включая IE, которые использует клиент) игнорируют атрибут color: ... CSS для отключенных элементов управления, поэтому мы не можем изменить цвет переднего плана.

Для текстовых полей (input type="text") это можно легко обойти, используя readonly вместо атрибута disabled. К сожалению, это не вариант для выпадающих списков (select) или флажков (input type="checkbox").

Есть ли простой способ обхода? Предпочитаете ли вы, что контроль не нужно заменять другим типом управления? (... поскольку наши элементы управления отображаются ASP.NET)

PS: Использование селектора [disabled] в CSS не имеет значения.

4b9b3361

Ответ 1

В Internet Explorer 9 будет добавлена ​​поддержка псевдо-селектора :disabled (ref). Я не знаю, будет ли это уважать свойство "color", но оно кажется вероятным.

В более старых версиях IE вы можете настроить цвет фона (но не цвет). Таким образом:

    <style type="text/css">
        select[disabled] { background-color: blue; }
    </style>

Это работает в IE 7 и IE 8. Вы по-прежнему не можете изменить цвет переднего плана, но можете изменить цвет фона, чтобы более сильно контрастировать с серым цветом, который IE присваивает ему при его отключении.

Ответ 2

Извините за мой английский...

Это невозможно использовать с помощью CSS, IE не позволяет изменять свойства отключенного тега select

Ответ 3

Для тех, кто все еще находит это.

Не работает:

select[disabled] { background-color: blue; }

В:

select option [disabled] { background-color: blue; } will do

Ответ 4

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

select[disabled='disabled']::-ms-value {
    color: red;
   }

Ответ 5

Это сработало для меня в webkit и Firefox

select:disabled{
   opacity: 0.6;
}