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>
「disabled」属性を使用する必要があると思われるため、HTML 部分も変更したことに注意してください (そのため、「selected」属性も追加する必要があります)。
それでも純粋な CSS コードが必要な場合は、ここにあります: http://jsfiddle.net/s5Xy2/4/