Всплывающие подсказки полей формы

Информация, представленная на этой странице ориентирована в первую очередь для начинающих web-мастеров.

При заполнении полей любой формы всегда приветствуется контекстные подсказки. Здесь всплывающие подсказки выводятся исключительно с помощью CSS, без использования изображений. Помимо этого, каждое поле реагирует на щелчок мыши выделением цветной тенью.

Демо-пример

Установка на сайт

1. Код в таблице внизу вставить в раздел head или файл стилей сайта:


<style type="text/css">

form div.dynamiclabel{ /* div container for each form field with pop up label */
  display: block;
  margin: 30px;
	font: 16px;
  position: relative;
}


form div.dynamiclabel input[type="text"], form div.dynamiclabel textarea{
  width: 320px;
  padding: 10px;
  border: 1px solid #c3c3c3;
  border-radius: 7px;
}

form div.dynamiclabel textarea{
	height: 200px;
}


form div.dynamiclabel label{ /* pop up label style */
  position: absolute;
  left: 0;
  background: lightyellow;
  border: 1px solid yellow;
  border-radius: 2px;
  padding: 3px 10px;
  box-shadow: 4px 1px 5px gray;
  font-weight: bold;
	-webkit-backface-visibility: hidden;
	top: 10px; /* initial top position of label relative to dynamiclabel container */
  -moz-transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transition: all 0.4s ease-in-out; /* Safari doesn't seem to support cubic-bezier values beyond 0 to 1, so use keyword value instead */
  -o-transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  opacity: 0;
  z-index: -1;
}


form div.dynamiclabel > *:focus{ /* when user focuses on child element inside div.dynamiclabel */
  border: 1px solid #45bcd2;
  box-shadow: 0 0 8px 2px #98d865;
}


form div.dynamiclabel > *:focus + label{ /* label style when user focuses on child element inside div.dynamiclabel */
  opacity: 1;
  z-index:100;
	top: -35px; /* Post top position of label on focus relative to dynamiclabel container */
	-ms-transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
</style>

2. А этот код скопируйте и расположите в разделе body в том месте, где желаете видеть форму:


<form action="#">
  <div class="dynamiclabel">
    <input id="name" placeholder="Имя" type="text">
    <label for="name">Имя</label>
  </div>

  <div class="dynamiclabel">
    <input id="email" placeholder="Email адрес" type="text">
    <label for="email">Email адрес</label>
  </div>

  <div class="dynamiclabel">
    <textarea id="feedback" placeholder="Текст сообщения"></textarea>
    <label for="feedback">Текст сообщения</label>
  </div>
</form>

Всё элементарно просто. Копируйте и вставляйте! Спасибо за внимание. Посещайте мой сайт. Пока! L.M.


Ваше мнение по материалу, изложенному на сайте




  © 2015–2024  dynamic-site.olerant.ru  L.M. Служба поддержки Яндекс.Метрика