Элемент управления раскрывающимся списком ASP.NET имеет стрелку, по которой можно щелкнуть, чтобы раскрыть список, этот цвет стрелки привязан к цветовой схеме окон пользователей. Это неудобно для меня, и мне нужен обходной путь. Тем не менее, мне интересно, знает ли кто-нибудь (или догадывается) о стратегии привязки этой стрелки раскрывающегося списка к системному цвету?
Почему цвет кнопки раскрывающегося списка asp.net привязан к цвету окна?
Ответы (5)
За кулисами элементы управления Winforms используют элементы управления Win32, которые существуют с Windows 3.0 (или 3.0 все еще была 16-битной? Я не помню). Под обложкой скрывается много наследия, и в те дни казалось, что это имеет смысл делать это именно так. Я действительно думаю, что сегодня все еще имеет смысл обеспечивать некоторый уровень согласованности между пользовательскими интерфейсами всех приложений платформы.
Действительно, стиль вашего выпадающего списка зависит от вашего навигатора. Некоторые навигаторы предлагают больше поддержки для этого, чем другие. То же самое происходит, например, с флажками.
Браузеры несут ответственность за превращение тегов ввода формы в элементы управления пользовательского интерфейса. Internet Explorer и другие браузеры делают это с помощью элементов управления пользовательского интерфейса операционной системы. «Веб-страница хочет <select>
? У нас уже есть этот элемент управления!»
Однако проблема, с которой вы, вероятно, сталкиваетесь, заключается в том, что Internet Explorer имеет печально известную плохую поддержку стилей для этих элементов управления, особенно элемента управления <select>
. Другие современные браузеры, такие как FireFox и Chrome, обеспечивают лучшую поддержку.
В настоящее время единственными вариантами для IE являются: (а) отказаться от элемента <select>
в пользу какого-либо компонента на основе javascript или (б) дождаться IE8 и надеяться, что у него будет лучшая поддержка стилей. Поскольку очень и очень трудно найти реализацию <select>
javascript, обеспечивающую надежную поддержку клавиатуры, многие люди предпочитают пока просто жить с уродливыми <select>
блоками в IE, жертвуя стилем ради удобства использования и доступности.
select
, вы бы заметили разницу между IE6 и FF3.
- person Ken Browning; 26.02.2009
Это не имеет ничего общего с ASP.NET; вы можете просматривать тот же сайт на Mac, и он будет выглядеть по-другому. Вот как Windows отображает этот тип элемента. Если вам это не нравится, то вам придется создать свой собственный. Это уже сделано.
Браузеры в той или иной степени подхватывают пользовательские настройки цвета из ОС, как и любое другое приложение, поэтому при отсутствии каких-либо заданных автором настроек они обычно являются значениями по умолчанию.
Имейте в виду, что как только вы начнете настраивать стили для выбора и других элементов формы, вы должны быть уверены, что предоставили достаточно полный набор правил стиля, иначе все это может очень быстро полететь к черту в ручной тележке, насколько быстро, зависит от браузер.