2015-12-09 3 views
0

У меня есть меню.По умолчанию серый и выбранный элемент зеленым

<select class="empty"> 
    <option value="" selected disabled>Please select</option> 
    <option value="1">Item 1</option> 
    <option value="2">Item 2</option> 
    <option value="3">Item 3</option> 
</select> 

select.empty { 
    color: grey; 
} 
select.option{ 
    color:green; 
} 

Я хочу иметь первый вариант в grey. Так что это похоже на местозаполнитель. Теперь, когда пользователь выбирает параметр, как я могу сделать текст зеленым? На данный момент это grey.

ответ

1

использование, как это тестирование в хроме также работает отлично

select option[disabled=""] { 
    color:grey; 
} 
select option{ 
    color:green; 
} 

благодаря надеюсь, что это помогает

Snippet

select option[disabled=""] { 
 
    color:grey; 
 
} 
 
select option{ 
 
    color:green; 
 
}
<select class="empty"> 
 
    <option value="" selected disabled>Please select</option> 
 
    <option value="1">Item 1</option> 
 
    <option value="2">Item 2</option> 
 
    <option value="3">Item 3</option> 
 
</select>

0

Вы можете использовать псевдокласмент :checked для зеленого цвета выбранной опции. Это пример кода, который должен работать

.empty option, .empty option:disabled:checked { 
 
    color: grey; 
 
} 
 
.empty option:checked{ 
 
    color:green; 
 
}
<select class="empty"> 
 
    <option value="" selected disabled>Please select</option> 
 
    <option value="1">Item 1</option> 
 
    <option value="2">Item 2</option> 
 
    <option value="3">Item 3</option> 
 
</select>

+1

ли на самом деле не работает (проверяется только в FireFox): http://jsfiddle.net/87Lo6L96/ – arnoudhgz

+0

Да, вы правы. Так или иначе, он не распознает класс по опции. Он работает при использовании опции select: check, но это не то, что Бекки было после. –

+0

@arnoudhgz Теперь я отредактировал ответ с рабочим кодом (не будет работать для IE 7 и ниже). –

Смежные вопросы