Элемент управления выпадающим списком ASP.NET имеет стрелку, которую вы можете щелкнуть, чтобы отбросить список вниз, этот цвет стрелки привязан к цветовой схеме окна пользователей. Это не удобно для меня, и мне понадобится обходной путь. Тем не менее, мне интересно, знает ли кто-нибудь (или угадывает) стратегию, заключающуюся в том, чтобы связать стрелку вниз с цветом системы?Почему цвет кнопки списка выпадающего списка asp.net привязан к цвету окон?
ответ
За кулисами элементы управления Winforms используют элементы управления Win32, которые существовали с Windows 3.0 (или были 3.0 еще 16 бит? Я не помню). Существует много наследия под обложками, и в те времена, когда казалось, что имеет смысл делать это именно так. На самом деле я считаю, что сегодня все еще имеет смысл обеспечить некоторый уровень согласованности между пользовательскими интерфейсами всех приложений платформы.
Действительно, стиль вашего dropdownList зависит от вашего навигатора. Некоторые навигаторы предлагают больше поддержки для этого, чем другие. Например, те же окуры с флажками.
Браузеры несут ответственность за то, чтобы тег формы формы вводился в элементы управления пользовательского интерфейса. Internet Explorer и другие браузеры делают это, используя элементы управления пользовательским интерфейсом операционной системы. «Веб-страница хочет <select>
? У нас уже есть этот контроль!»
Проблема, которую вы, вероятно, испытываете, однако, заключается в том, что Internet Explorer, как известно, плохо поддерживает стилизацию этих элементов управления - и особенно управление <select>
. Другие современные браузеры, такие как FireFox и Chrome, обеспечивают лучшую поддержку.
На данный момент единственными вариантами для IE являются: (a) отказаться от элемента <select>
в пользу какого-либо компонента на основе javascript или (b) дождаться IE8 и надеяться, что он имеет лучшую поддержку стиля. Поскольку очень и очень сложно найти реализацию javascript <select>
, которая обеспечивает надежную поддержку клавиатуры, многие люди предпочитают жить с уродливыми <select>
ящиками в IE на данный момент - жертвуя стилем для удобства и доступности.
Это не имеет никакого отношения к ASP.NET; вы можете просмотреть тот же сайт на Mac, и он будет выглядеть по-другому. Это то, как окна отображают этот тип элемента. Если вам это не нравится, тогда вам придется создавать свои собственные. It's been done already.
Браузеры, в той или иной степени, выбирают настройки цвета пользователей из os, как и любое другое приложение, поэтому в отсутствие каких-либо заданных пользователем параметров они обычно являются стандартными.
Помните, что после того, как вы начнете настраивать стиль для элементов выбора и других элементов формы, вам нужно быть уверенными в том, что вы даете довольно полный набор правил стиля, иначе все могут попасть в ад в ручную тележку очень быстро, как раз быстро зависит от браузера.
Для меня это выглядит так же, как в IE6, как в Firefox 3.0.6. Я просто устанавливаю свою цветовую схему xp на оливково-зеленый цвет и помещаю ее на страницу aspx: asp: DropDownList> Он окрашивается оливковым маслом стрелки. –
Keith
Я думаю, что если бы вы применили стили css к элементу 'select', вы заметили бы разницу между IE6 и FF3. –