当前位置: 首页 > 面试题库 >

仅运行一次CSS3动画(在页面加载时)

刘弘新
2023-03-14
问题内容

我正在制作一个由CSS3驱动的简单目标网页。为了使它看起来很棒,有一个<a>隆重的表演:

@keyframes splash {
    from {
        opacity: 0;
        transform: scale(0, 0);
    }
    50% {
        opacity: 1;
        transform: scale(1.1, 1.1);
    }
    to {
        transform: scale(1, 1);
    }
}

为了使它更加出色,我添加了一个悬停动画:

@keyframes hover {
    from {
        transform: scale(1, 1);
    }
    to {
        transform: scale(1.1, 1.1);
    }
}

但是问题来了!我分配了这样的动画:

a {
    /* Some basic styling here */

    animation: splash 1s normal forwards ease-in-out;
}
a:hover {
    animation: hover 1s infinite alternate ease-in-out;
}

一切都很好:<a>飞溅到用户脸上,当他徘徊时有很好的振动。用户模糊后,立即<a>填充,平滑内容突然结束并<a>重复splash-animation。(这对我来说是合乎逻辑的,但我不希望这样做)没有某种JavaScript类Jiggery
Pokery,有什么方法可以解决此问题?


问题答案:

经过数小时的谷歌搜索:不,没有JavaScript是不可能的。该animation-iteration-count: 1;内部保存在animationshothand属性,它被 重置了和覆盖
:hover。当我们模糊化<a>并释放:hover旧类时,旧类将 重新应用 ,因此再次 重置animation属性。

可悲的是,没有办法在元素状态之间保存某些属性状态。

您必须使用JavaScript。



 类似资料:
  • 问题内容: 是否可以在不使用Javascript的情况下在页面加载时使用CSS3过渡动画? 问题答案: 您 可以 在页面加载时运行 CSS 动画,而无需使用任何JavaScript;您只需要使用 CSS3关键帧即可 。 让我们看一个例子… 这是仅使用 CSS3 的导航菜单滑入位置的演示: 分解… 这里的重要部分是关键帧动画,我们称之为… …这基本上是说:“开始时,标题将离开屏幕的左侧边缘的整个宽度

  • 问题内容: 我尝试在我的网站中实施AJAX。单击div changepass的内容时,则应加载changepass.template.php。这是我为此使用的代码。 我的问题是在页面changepass.template.php完全加载时如何显示GIF动画(loading.gif)。请给我一些代码提示。 问题答案: 有很多方法可以做到这一点。一种简单的方法: JS: 詹姆斯·怀斯曼 ( James

  • #animated_div{ width:76px; height:47px; background:#92B901; color:#ffffff; position:relative; font-weight:bold; font-size:20px; padding:10px; animation:animated_div 5s 1;

  • 我是胡克斯的新手,遇到了一些让我追自己尾巴的案例。 希望有人能解释或提供对我有意义的解决方案: > 下面这个线程:如何调用加载函数与反应使用效果只有一次 我试着在没有依赖性的情况下使用useEffect,eslint不喜欢这样,他们建议添加一个“跳过下一行”,这似乎有点骇人:

  • 问题内容: 我正在尝试使用PNG和CSS3动画复制Apple风格的活动指示器(日程加载图标)。我使图像旋转并连续进行,但是在动画完成之后似乎有延迟,然后再进行下一个旋转。 我尝试过更改动画的持续时间,但是没有什么区别,如果您将其放慢,请说5s,这更明显的是,在第一次旋转之后会有一个暂停,然后再次旋转。我想摆脱的是这个停顿。 非常感谢任何帮助,谢谢。 问题答案: 您的问题是您需要时提供了。您的0到3

  • 问题内容: 我需要在某些文本上执行一系列动画处理,并且我打算使用CSS3。我的计划是使一些文本缓慢地在屏幕上向下移动,并到达屏幕的特定部分后,某些单词将被突出显示,最终文本将继续在屏幕上向下移动并消失,为进一步的文本留出空间。 我的问题是,“链接”这些动画的最佳方法是什么。我是否应该有一个用于向下移动屏幕的动画,一个用于突出显示文本的单独动画以及一个用于向下移动屏幕其余部分的动画?然后,是否应该将