Я экспериментирую с этой формой, и у меня есть несколько вопросов, поэтому заранее спасибо!
- Главный вопрос: как вы можете видеть в приведенном ниже коде, есть 3 свойства "преобразования" как при наведении, так и при активном, и все они имеют одинаковое время перехода. Если вы нажмете на кнопку, вы увидите, что это очень быстрый переход (0,3 с), и я этого не хочу. Я хочу, чтобы это заняло, может быть, 1, 2 секунды, чтобы было понятно, что «сообщение уже в пути». Если я изменю время перехода на 2 секунды, это также повлияет на наведение, а эффект наведения на 2 секунды будет выглядеть ужасно. Как я могу разделить эти 2 (или более) вещи? "scale on hover имеет свое время, scale on active имеет свое время, translate on active имеет свое время e cc".
Было бы не здорово, если бы мы могли дать классы свойствам в CSS чтобы мы могли запускать их как захотим? (Просто утопи c мечта)
Есть ли способ задать время перехода градиентам? Кажется, не работает обычным способом.
Еще раз спасибо!
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
.form1 {
height: 100%;
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
padding: 50px 150px;
display: flex;
flex-direction: column;
font-family: helvetica;
font-size: 14px;
}
.space:focus {
outline: none;
}
.space {
width: 300px;
border: none;
padding: 3px;
border-radius: 3px;
}
.label1 {
align-self: center;
}
.submit {
width: 300px;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 5px;
padding: 5px;
font-family: verdana;
font-weight: 600;
cursor: pointer;
box-shadow: 1px 1px 5px rgb(50,50,50);
letter-spacing: .1px;
outline: none;
transition: transform .3s;
}
.submit:hover {
background: linear-gradient(to top left, rgb(255,105,200), deepskyblue, aqua);
transform: scale(1.1);
border: 1px solid rgb(150,150,200);
}
.submit:active {
transform: scale(.8);
background: linear-gradient(to top left, rgb(235,105,200), aqua);
transform: translateX(1000px);
}
<div class="form1">
<div class="label1">
<label for="name">Name</label><br>
<input class="space" type="text" id="name"><br><br>
</div>
<div class="label1">
<label for="email">E-mail</label><br>
<input class="space" type="email" id="email"><br><br>
</div>
<div class="label1">
<label for="message">Message</label><br>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br><br>
</div>
<input type="submit" class="submit" value="Send">
</div>