Kyle solution is great for me, so I did my research to avoid Js and CSS, but just stuck with HTML. Adding the selected value to the element that we want to display as the header makes it show first as a placeholder. Something like:
<option selected disabled>Choose here</option>
Complete markup should be in the following order:
<select> <option selected disabled>Choose here</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> <option value="4">Four</option> <option value="5">Five</option> </select>
You can take a look at this fiddle , and here is the result:

If you do not want the placeholder text view to appear in the list as soon as the user clicks on the selection field, just add the hidden attribute, for example:
<select> <option selected disabled hidden>Choose here</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> <option value="4">Four</option> <option value="5">Five</option> </select>
Check out the fiddle here and the screenshot below.

Nobita Nov 21 '12 at 11:48 2012-11-21 11:48
source share