One of the things added in HTML5 is the ability to specify placeholder text inside your input and textarea elements. If you haven't encountered them before, placeholder text is basically a temporary label that describes what an input or textarea stands for:
Once you give an input field or textarea focus and start typing, the contents of your placeholder text disappear:
This tutorial really isn't about how to use placeholder text. For that, you should check out the placeholder text section on the Creating an Awesome Search Box tutorial. Instead, in this tutorial, you will learn how to style the placeholder text.
On the surface, this seems pretty simple. You have some text inside either an input or textarea element that needs some CSS attention. The challenge is that you do not have individual text elements that you can style directly. Instead, your placeholder text is very much an internal component of your input and textarea element.
The way you set the style of your placeholder text is by using the *-placeholder and *-input-placeholder pseudo selectors:
The pseudo selectors are a bit different for each browser. For Safari and Chrome, you will use ::-webkit-input-placeholder, :-moz-placeholder for Firefox, and :-ms-input-placeholder for Internet Explorer 10. Opera doesn't support styling placeholder content...yet!
An example of this style applied to an input element with placeholder text looks as follows:
[ the placeholder text is grayed out! ]
You can actually see this style being used in the header of this site!