Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как добавить и оформить подсказку в поле (placeholder)

Короткий ответ

Текст-подсказку внутри пустого поля задаёт атрибут placeholder, а его вид — псевдоэлемент ::placeholder:

<style>
  input { padding: 8px; }
  input::placeholder { color: slategray; font-style: italic; }
</style>
 
<input type="email" placeholder="anna@example.com">

Подсказка исчезает, как только пользователь начинает печатать.

Что писать в подсказке

Лучше всего — пример значения или формат: anna@example.com, DD.MM.YYYY. Название поля и важные правила пишите в подписи над полем, иначе пользователь их не увидит после начала ввода:

<label style="display: grid; gap: 4px; max-width: 260px;">
  Date of birth
  <input type="text" placeholder="DD.MM.YYYY" style="padding: 8px;">
</label>

Пустое поле в CSS

Псевдокласс :placeholder-shown срабатывает, пока подсказка видна, то есть поле пустое. На нём строят «плавающие» подписи, которые уменьшаются и поднимаются вверх при вводе.

Частая ошибка

Подсказку используют вместо подписи: поле без <label>, а название — только в placeholder. Стоит начать печатать, и становится непонятно, что это было за поле. Многие программы чтения с экрана к тому же не читают подсказку как название. Кроме того, светло-серый текст часто слишком бледный, чтобы его прочитать.

<input placeholder="Name"> <input placeholder="Surname">

Функции из этого ответа

  • placeholder — Подсказка-пример внутри пустого поля.
  • ::placeholder — Текст-подсказка поля из атрибута `placeholder`.
  • <label> — Подпись к полю формы.
  • <input> — Поле ввода; вид поля задаёт атрибут `type`.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.