【发布时间】:2019-05-19 23:26:07
【问题描述】:
我有一个看起来像这样的列表
<ul class="timeline-container">
<li class="timeline-item-container">
<div class="timeline-item></div>
</li>
<li class="timeline-item-container">
<div class="timeline-item></div>
</li>
</ul>
我声明了 2 个动画
@keyframes slideLeft
{
from {
transform: translateX(1000px);
}
to {
transform: translateX(0);
}
}
@keyframes slideRight
{
from {
transform: translateX(-1000px);
}
to {
transform: translateX(0);
}
}
然后在我的 css 上我有这个:
.timeline-item
{
animation: slideRight .6s ease both;
@media (max-width:767px)
{
animation: slideLeft .6s ease both;
}
}
所以这很完美,我列表中的所有项目在屏幕小于 767 像素时从右侧滑入,当屏幕更大时从左侧滑入。当我调整屏幕大小时,动画再次播放。
现在我希望列表中的每个奇数项目在屏幕大于 767 像素时从右侧滑入,所以我添加了这个:
.timeline-item-container:nth-child(even) .timeline-item
{
@media (min-width:767px)
{
animation: slideLeft .6s ease both;
}
}
这在我刷新页面时有效,但如果我调整屏幕大小,动画不会播放。它应该像以前一样在屏幕调整大小时播放动画
我知道动画在那里,因为如果我刷新它,它就会播放,而不是在我调整屏幕大小之后
任何帮助都是appriciated
【问题讨论】:
-
你能创建工作示例吗?
-
@TemaniAfif 嗨,我已经包含了一个 jsfiddle,因为您可以看到动画在运行时正常工作,但是当您调整大小时,只有 1 次运行
-
它工作正常,如果你调整小提琴的大小,它会重复
-
@TemaniAfif 您在使用 chrome 吗?也许它只是我的电脑。对我来说,在我来回调整大小时,顶部栏根本没有动画
-
啊,你要再次触发同样的动画吗?
标签: html css media-queries css-animations