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

仅运行一次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

  • 问题内容: 我正在使用Camel&Spring进行Java项目。在Spring完成其工作并且Camel完成所有路径的构建之后,我们想在单例bean上触发一个initialize方法。 我们无法在类创建时调用该方法,因为它具有从@Component spring批注中拾取的与其他类的动态链接,并且我们不知道何时/是否已加载这些类,而尚未真正将init方法作为a的一部分运行构造函数。 我如何才能在Ca