Search code examples
htmlcsshtml-selectplaceholder

How do I make a placeholder for a 'select' box?


I'm using placeholders for text inputs which is working out just fine. But I'd like to use a placeholder for my selectboxes as well. Of course I can just use this code:

<select>
    <option value="">Select your option</option>
    <option value="hurr">Durr</option>
</select>

But the 'Select your option' is in black instead of lightgrey. So my solution could possibly be CSS-based. jQuery is fine too.

This only makes the option grey in the dropdown (so after clicking the arrow):

option:first {
    color: #999;
}

The question is: How do people create placeholders in selectboxes? But it has already been answered, cheers.

And using this results in the selected value always being grey (even after selecting a real option):

select {
    color: #999;
}

Solution

  • A non-CSS - no JavaScript/jQuery answer:

    <label>Option name
    <select>
        <option value="" disabled selected>Select your option</option>
        <option value="hurr">Durr</option>
    </select>
    </label>

    Update (December 2021):

    This works for latest Firefox, Chrome, and Safari. It used to not work for many browsers in the past, as pointed out in the comments.