Задать вопрос
@generate
...

Как добавить плавность в margin?

<label> 
  <input type="text" placeholder="Email address">
  <span>Email address</span>
</label>

input {
    display: block;
    width: 100%;
    padding: 10px 20px;
    color: #4f4f4f;
    background-color: #fff;
    border: 1px solid #bdbdbd;
    max-width: 400px;
    border-radius: 4px;
    outline:0;
}
input:focus {
    box-shadow: inset 0 0 0 1px #478cff;
    border: 1px solid #1266f1;
}
span {
	  display: none;
    margin: 0 0 0 8px;
    transition: margin 0.4s;
    background: #fff;
    left: 8px;
    height: 10px;
    position: absolute;
    padding: 0 10px;
    color: #454545;
}
label  input:focus + span {
    display: block;
   	margin: -45px 0 0 8px;

}

input::-webkit-input-placeholder {
    color: #999;
}
input:focus::-webkit-input-placeholder {
    color: transparent;
}


Вообще не получается задать top или margin плавности подскажите как это можно сделать.
Хотел сделать как тут: https://mdbootstrap.com/docs/standard/forms/input-...
Но не получается там скопировать, решил сделать сам почти получилось но без плавности когда происходит фокус в инпут спан идет на вверх резко.
https://codepen.io/vsjerkil/pen/rNwjQBM
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Pavstyuk
span {
    position: absolute;
    display: block;
    margin: 0 0 0 8px;
    transition: all 0.4s;
    background: #fff;
    top: 0;
    left: 8px;
    height: 10px;
    padding: 0 10px;
    color: #454545;
    opacity: 0;
}
label  input:focus + span {
    opacity: 1;
    margin: -45px 0 0 8px;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы