【发布时间】:2020-11-27 13:33:29
【问题描述】:
我正在玩这个表格,我有几个问题,所以提前谢谢你!
- 主要问题:正如您在下面的代码中看到的,在悬停和活动时都有 3 个“转换”属性,并且它们都具有相同的转换时间。如果您单击该按钮,您会看到这是一个非常快速的转换 (.3s),我不希望这样。我希望它可能需要 1、2 秒,所以它给出了“它正在传递消息”的想法。如果我将过渡时间更改为 2 秒,悬停也会受到影响,2 秒的悬停效果看起来很糟糕。 我怎样才能分开这 2 个(或更多)的东西? “悬停时缩放有时间,活动时缩放有时间,活动时翻译有时间 ecc”。
如果我们可以在 CSS 中为属性提供类以便我们可以根据需要触发它们,那不是很棒吗? (只是一个乌托邦的梦想)
- 有没有办法给渐变过渡时间?似乎不能以通常的方式工作。
再次感谢你!
* {
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>
【问题讨论】:
标签: html css transition gradient linear-gradients