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

HTML <select> выбранный вариант background-color CSS style

Есть ли стиль для выбранного варианта "выбранный" цвет? Например:

<HTML>
<BODY>
<FORM NAME="form1">
<SELECT NAME="mySelect" SIZE="7" style="background-color:red;">
<OPTION>Test 1
<OPTION>Test 2
<OPTION>Test 3
<OPTION>Test 4
<OPTION>Test 5
<OPTION>Test 6
<OPTION>Test 7
</SELECT>
</FORM>
</BODY>
</HTML>

Когда я выбираю параметр, он становится синим, я хочу переопределить это и сделайте его другим цветом. В стиле я ожидал чего-то вроде "selected-color", но его не существует.

4b9b3361

Ответ 1

Возможно, вы не сможете сделать это, используя чистый CSS. Но, немного javascript может сделать это красиво.

Грубый способ сделать это -

var sel = document.getElementById('select_id');
sel.addEventListener('click', function(el){
    var options = this.children;
    for(var i=0; i < this.childElementCount; i++){
        options[i].style.color = 'white';
    }
    var selected = this.children[this.selectedIndex];
        selected.style.color = 'red';
    }, false);

Ответ 2

<select name=protect_email size=1 style="background: #009966; color: #FFF;" onChange="this.style.backgroundColor=this.options[this.selectedIndex].style.backgroundColor">    
<option value=0 style="background: #009966; color: #FFF;" selected>Protect my email</option>;  
<option value=1 style="background: #FF0000; color: #FFF;">Show email on advert</option>;
</select>; 

http://pro.org.uk/classified/Directory?act=book&category=120

Протестировал его в FF, Opera, Konqueror отлично справился...

Ответ 3

Вы не можете полагаться на CSS для элементов формы. Результаты сильно варьируются во всех браузерах. Я не думаю, что Safari позволяет настраивать любые элементы формы вообще.

Лучше всего использовать плагин, например jqTransform (использует jQuery).

EDIT: эта страница, похоже, не работает в данный момент. Существует также Custom Form Elements, который поддерживает MooTools и может поддерживать jQuery в будущем.

Ответ 4

В настоящее время CSS не поддерживает эту функцию.

Вы можете создать свой собственный или использовать плагин, который эмулирует это поведение с помощью DIVs/CSS.

Ответ 5

Этот синтаксис будет работать в XHTML и не работает в IE6, но это не-javascript-способ:

option[selected] { background: #f00; }

Если вы хотите сделать это "на лету", вам придется пойти с javascript, как предложили другие...

Ответ 6

Я думаю, что решение, которое вы, возможно, искали, это:

option:checked {
  box-shadow: 0 0 10px 100px #FFFF00 inset; }

Ответ 7

В принципе, вы можете стилизовать его, используя опцию [selected] в качестве селектора, но это не работает во многих браузерах. Кроме того, это позволяет вам только стилизовать выбранный параметр, а не параметр, который имеет фокус.

Протестировано для работы в Chrome 9 и Firefox 3.6, не работает в Internet Explorer 8.

Ответ 8

Я понимаю, что это старый пост, но в случае, если это помогает, вы можете применить этот CSS, чтобы IE11 нарисовал пунктирную схему для индикатора фокусировки элемента <select>, чтобы он напоминал индикацию фокуса Firefox: select:focus::-ms-value { background: transparent; color: inherit; outline-style: dotted; outline-width: thin; }

Ответ 9

В CSS:

ВЫБОР ВАРИАНТА: отмечено {background-color: red; }

Ответ 10

Мы можем переопределить синий цвет в нашем пользовательском цвете Он работает в Internet Explorer, Firefox и Chrome:

Используя нижеприведенный CSS:

option: checked, option: hover {
    Color: #ffffff;
    background: #614767 repeat url("data:image/gif;base64,R0lGODlh8ACgAPAAAGFGZQAAACH5BAAAAAAALAAAAADwAKAAAAL+hI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIhRVgEAOw");
}