Instead, add an option with an empty value and the selected attribute, as shown below. The difference between :placeholder-shown and ::placeholder:placeholder-shown is for selecting the input itself when it’s placeholder text is being shown. :invalid works here because of the empty value in the placeholder option. Add two elements to define fields for the user input. I find it very strange, but two times people have asked the same question in SO and still have not found a satisfactory answer.. Distinguishable by single-versus-double colons. Topic: HTML / CSS Prev|Next Answer: Use the disabled and selected Attribute. By using the code snippet below, you are selecting the placeholder inside your input, and any code placed inside will affect only the placeholder. Angular Quick Tip — How to Show a Placeholder in Select Control. input::-webkit-input-placeholder { text-align: center } Project Spartan - v.15.10130 (Placeholder is visible in dropdown but is not selectable) Update: When the select element is required it allows use of the :invalid CSS pseudo-class which allows you to style the select element when in it's "placeholder" state. However, you can create similar effect by using the HTML disabled and selected attribute on a