Поскольку вы пометили Bootstrap 4, я предполагаю, что вы хотели найти решение в отношении этой платформы.
Установите группу форм по умолчанию, метку и разметку ввода, как это;
<div class="form-group">
<label for="usr">Name:</label>
<input type="text" class="form-control" id="usr">
</div>
Затем добавьте этот CSS, что бы он сделал:
- метка позиции относительно ее контейнера (группа форм)
- , затем мы задали верхнюю и левую позиции такчто он будет располагаться поверх поля ввода
- Я добавил белый фон и отступы к метке, чтобы у него было поле вокруг метки.
.form-group > label {
top: 18px;
left: 6px;
position: relative;
background-color: white;
padding: 0px 5px 0px 5px;
font-size: 0.9em;
}
Вот скрипка с этим кодом на начальной загрузке 4;http://jsfiddle.net/rw29jot4/
Для анимации, проверьте эту скрипку, нам нужно использовать события щелчка и переместить позицию метки;
Обновлен код с анимацией; http://jsfiddle.net/sedvo037/