答案 0 :(得分:6)
您需要为第一个选项指定 value=""
。如果没有value=""
,则选项的值隐式等于其文本内容,这意味着它符合required
约束。
演示:
select:invalid { color: red; }
<select required>
<option disabled value="" selected>- please choose -</option>
<option value="1">A</option>
<option value="2">B</option>
</select>
以上将使选择+所有选项变为红色,直到选择了一个值。
如果您希望选项 总是为黑色,只需稍微扩展一下CSS:
select:invalid { color: red; }
select option { color: black; }
<select required>
<option disabled value="" selected>- please choose -</option>
<option value="1">A</option>
<option value="2">B</option>
</select>
答案 1 :(得分:2)
尝试使用option:disabled
。
select option:disabled {
color: red;
}
<select required>
<option disabled selected>- please choose -</option>
<option value="1">A</option>
<option value="2">B</option>
</select>
答案 2 :(得分:0)
.choose_elements{
background-color : red;
}
.elements{
background-color : white;
}
<select required
onchange="this.className=this.options[this.selectedIndex].className"
class="choose_elements">
<option value="0" class="choose_elements">- please choose -</option>
<option value="1" class = "elements">A</option>
<option value="2" class = "elements">B</option>
</select>