В HTML5 есть замечательный атрибут — placeholder (текст-подсказка для элементов ввода). Задается он следующим образом:
<input type=«text» placeholder=«type here some text» />
Обычно этот текст отображается серым цветом, но мы можем стилизовать этот текст с помощью CSS. Данный прием будет работать в Google Chrome, Safari и Firefox. Opera пока не позволяет задавать для него стили, а IE не поддерживает его вовсе.
CSS правила для webkit и mozilla:
input::-webkit-input-placeholder {}
input:-moz-placeholder {}
Только имейте ввиду, что нельзя совмещать эти селекторы в один, и если вы напишете:
input:-moz-placeholder,
input::-webkit-input-placeholder { }
То CSS правила не будут работать. И обратите внимание, что для webkit надо писать два двоеточия а для mozilla — одно.
Еще несколько примеров:
/* стили для webkit */
#field2::-webkit-input-placeholder { color:#00f; }
#field3::-webkit-input-placeholder {
color:#090;
background:lightgreen;
text-transform:uppercase;
}
#field4::-webkit-input-placeholder {
font-style:italic;
text-decoration:overline;
letter-spacing:3px; color:#999;
}
/* стили для mozilla */
#field2:-moz-placeholder { color:#00f; }
#field3:-moz-placeholder {
color:#090; background:lightgreen;
text-transform:uppercase;
}
#field4:-moz-placeholder {
font-style:italic;
text-decoration:overline;
letter-spacing:3px;
color:#999;
}
Также следует заметить, что разные браузеры по разному поддерживают стили для placeholder. Например в Firefox вы можете задать для него цвет фона, а в Chrome нет.
Chrome 11 (Win 7) |
Firefox 4 (Win 7) |
Safari 3.1 (Win XP & OS X) |
Safari 5 (Win 7 & OS X) |
|
background-color | нет | + | нет | + |
border | нет | + | нет | + |
color | + | + | нет | + |
font-size | + | + | нет | + |
font-style | + | + | нет | + |
font-weight | + | + | нет | + |
letter-spacing | + | + | нет | + |
line-height | нет | нет | нет | нет |
padding top/bottom | нет | + | нет | + |
padding left/right | нет | + | нет | нет |
text-decoration | нет | + | нет | + |
text-transform | нет | + | нет | + |
Источники: Стилизация HTML5 плейсхолдера с помощью CSS / Каскадные Таблицы Стилей / Хабрахабр
HTML5 Placeholder Styling with CSS Example