- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我用关键帧制作的动画没有一个平滑的结束,并且跳到开始的速度非常快。我不知道如何让这个过渡更顺畅。
当动画结束并跳回开始时,第一个元素并不完全可见。
body {
font-family: 'Poppins', sans-serif;
}
ul {
list-style: none;
}
#flip {
height: 43px;
margin-top: -20px;
overflow: hidden;
}
#flip .content {
display: flex;
flex-direction: column;
align-items: center;
}
#flip h3 {
font-weight: 400;
font-size: 0.5em;
color: white;
text-transform: uppercase;
text-align: right;
display: inline-block;
padding: 5px;
margin-bottom: 10px;
animation: flip 4s infinite;
animation-delay: 1s;
}
#flip .one {
background: #CD1517;
}
#flip .two {
background: #068587;
}
#flip .three {
background: #F2B134;
}
#flip .four {
background: #6B50BF;
}
#flip .five {
background: #4FB99F;
}
@-webkit-keyframes flip {
0% {
transform: translateY(0px);
}
20% {
transform: translateY(-43px);
}
40% {
transform: translateY(-90px);
}
60% {
transform: translateY(-135px);
}
80% {
transform: translateY(-180px);
}
100% {
transform: translateY(0px);
}
}
<ul>
<li id="flip">
<div class="content">
<h3 class="one">developer</h3>
<h3 class="two">designer</h3>
<h3 class="three">programmer</h3>
<h3 class="four">carodej</h3>
<h3 class="five">alluneed</h3>
</div>
</li>
</ul>
Animation on end 可以制作从头到头平滑跳转的动画。
最佳答案
要解决动画滚动到顶部后第一个元素半可见的问题,您应该对所有元素应用相同的高度,并正确地将 h3 标签垂直居中。为了简化操作,我稍微调整了您的 html。
要使动画流畅,您需要更改关键帧。首先使用元素高度的倍数作为 translateY。然后你必须改变百分比。通过让过渡从动画持续时间的 10% 开始,您的第一个元素将在动画重新开始后显示更长的时间。
body {
font-family: 'Poppins', sans-serif;
}
ul {
list-style: none;
}
#flip {
height: 43px;
overflow: hidden;
}
#flip .content {
height: 43px; /* new */
display: flex;
flex-direction: column;
align-items: center;
justify-content: center; /* new */
}
#flip h3 {
font-weight: 400;
font-size: 0.5em;
color: white;
text-transform: uppercase;
padding: 5px;
animation: flip 6s infinite; /* changed */
animation-delay: 1s;
}
#flip .one {
background: #CD1517;
}
#flip .two {
background: #068587;
}
#flip .three {
background: #F2B134;
}
#flip .four {
background: #6B50BF;
}
#flip .five {
background: #4FB99F;
}
/* changed */
@-webkit-keyframes flip {
10%, 100% {
transform: translateY(0px);
}
25% {
transform: translateY(-43px);
}
40% {
transform: translateY(-86px);
}
55% {
transform: translateY(-129px);
}
75% {
transform: translateY(-172px);
}
}
<ul id="flip">
<li class="content">
<h3 class="one">developer</h3>
</li>
<li class="content">
<h3 class="two">designer</h3>
</li>
<li class="content">
<h3 class="three">programmer</h3>
</li>
<li class="content">
<h3 class="four">carodej</h3>
</li>
<li class="content">
<h3 class="five">alluneed</h3>
</li>
</ul>
编辑:没有滚动到顶部效果的动画
为了有一个无缝的旋转效果,你需要进一步调整translateY值并添加更多的关键帧。
注意:提供的代码并不十分流畅 - 尝试调整百分比和 translateY 值,直到动画满足您的需要。
@-webkit-keyframes flip {
0% {
transform: translateY(15px);
}
10% {
transform: translateY(0px);
}
30% {
transform: translateY(-43px);
}
50% {
transform: translateY(-86px);
}
70% {
transform: translateY(-129px);
}
90% {
transform: translateY(-172px);
}
100% {
transform: translateY(-202px);
}
}
关于html - 如何让我的关键帧动画顺利开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762936/
我正在尝试实时动态地将 subview 添加到 UiScorllView(以节省内存)。 这样做会导致 ScrollView 挂起一小会儿...解决这个问题的方法是什么? 任何提示表示赞赏 最佳答案
我想将一个 DIV 位置依次设置为 bottom = 0 和 height = 0,以便第一个动画以相同的速度平滑地跟随第二个动画。问题是 DIV 会根据内容调整其高度,因此当我对两个动画使用相同的持
我想根据滚动更改工具栏的 alpha,如下所示: 起初,工具栏是透明的,滚动到底部会越来越明显,最后会完全不透明(可见)。 我的布局结构是:
我正在尝试使用 Canvas 调整一些图像的大小,但我对如何平滑它们一无所知。在 photoshop、浏览器等上。他们使用了一些算法(例如双三次、双线性),但我不知道这些是否内置在 Canvas 中。
我是一名优秀的程序员,十分优秀!