2017年9月编辑
您应该看看下面的 Tessa 的答案,因为它只是 CSS,而且现在好多了!这个答案现在已经快 5 岁了,所以情况发生了一些变化。我保留原始答案仅供参考。
原始答案
我更接近你需要的东西:
您需要将整个 SELECT 变灰(这样当它关闭时,它是灰色的),然后“取消灰色”所有 OPTION(将它们设为黑色)并将第一个孩子变灰。像这样的东西:
CSS
select
{
color: #ccc;
}
option
{
color: #000;
}
option:first-child
{
color: #ccc;
}
编辑
所以编辑的代码是:
HTML
<select onchange="changeMe(this)">
<option selected disabled>Please select your favourite fruit</option>
<option>Apple</option>
<option>Banana</option>
</select>
Javascript
<script type="text/javascript">
function changeMe(sel)
{
sel.style.color = "#000";
}
</script>
我已经更新了 jsFiddle。你可以在这里查看:http: //jsfiddle.net/s5Xy2/5/
</p>
请注意,我还更改了 HTML 部分,因为我认为您想使用“禁用”属性(因此,您还必须添加“选定”属性)。
如果你仍然想要纯 CSS 代码,这里是:http: //jsfiddle.net/s5Xy2/4/