Делаю форму регистрации, при нажатии на поля текст, текст из поля поднимается вверх и если он прошел проверку браузером по type ( :valid ) то остается верху. Проблема заключается в поле email если некорректно введен email то текст падает на введенный текс в поле ввода с другими полями такой проблемы нет. Вот мой код
* {
outline: none;
}
body {
background: white;
}
form {
text-align: left;
}
label {
display: block;
padding-top: 15px;
text-align: left;
}
label .label-text {
color: grey;
cursor: text;
font-size: 14px;
-moz-transform: translateY(-34px);
-ms-transform: translateY(-34px);
-webkit-transform: translateY(-34px);
transform: translateY(-34px);
transition: all 0.3s;
}
label input {
border: 0;
border-radius: 2px;
border-bottom: 1px solid #F3F5F7;
color: grey;
font-size: 14px;
padding: 5px 0px;
text-align: left;
transition: all 0.5s;
width: 260px;
}
label input:focus {
border-bottom: 2px solid #c3d2eb;
}
label input:focus + .label-text {
color: grey;
font-size: 13px;
-moz-transform: translateY(-44px);
-ms-transform: translateY(-44px);
-webkit-transform: translateY(-44px);
transform: translateY(-44px);
}
label input:valid + .label-text {
font-size: 13px;
-moz-transform: translateY(-44px);
-ms-transform: translateY(-44px);
-webkit-transform: translateY(-44px);
transform: translateY(-44px);
}
<div class="form">
<label>
<input type="text" class="nick" required autofocus/>
<div class="label-text">Никнейм</div>
</label>
<label>
<input type="email" class="email" required />
<div class="label-text">E-mail</div>
</label>
<label>
<input type="password" class="pass" required />
<div class="label-text">Пароль</div>
</label>
<label>
<input type="password" class="pass2" required />
<div class="label-text">Повторите пароль</div>
</label>
<button class="btn btn-reg">Зарегистрироваться</button>
<div class="social_networks_form">
<a href="">
<div class="element"><i class="fa fa-vk" aria-hidden="true"></i></div>
</a>
<a href="">
<div class="element"><i class="fa fa-facebook" aria-hidden="true"></i></div>
</a>
<a href="">
<div class="element"><i class="fa fa-youtube-play" aria-hidden="true"></i></div>
</a>
</div>
<a href="register" class="btn-vhod">Уже есть аккаунт</a>
</div>
Поменять тип input ( email ) не могу
Помогите пожалуйста
введите сюда код
Потому что браузер проверяет и получает ответ, что неправильная запись в форме и возвращает стили. Попробуйте прописать отдельно стили для вариантов, когда значение неверно.
input:invalid:not(:placeholder-shown) {...}
Добавьте:
label input:invalid:not(:placeholder-shown) + .label-text {
font-size: 13px;
-moz-transform: translateY(-44px);
-ms-transform: translateY(-44px);
-webkit-transform: translateY(-44px);
transform: translateY(-44px);
}
а также добавьте пустой placeholder во ВСЕ input
<input type="email" class="email" required placeholder=" "/>
https://codepen.io/anon/pen/JMWQvw
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, как сделать эффект такого размытого пятна как внизу на скриншоте?
Прочел про внешние ключи MYSQL 7 статей и так и не понялПочему не понял - не нашел ответа на вопрос: Предположим у нас есть таблицы
при попытке отправки Post запроса с клиента(Angular2) на сервер ASPNET web api, в ответе с сервера приходит ошибка