当前位置: 首页 > 知识库问答 >
问题:

CSS关键帧动画在Safari中不工作

盖斌
2023-03-14

我做了一个动画为一些元素(图像和按钮)淡入淡出使用不透明度。除了Safari之外,它在所有浏览器上都能完美地工作。当我尝试在Safari中运行它时,我的所有元素都有100%的不透明度,没有任何动画可以看到…

来自button元素的示例:

以下是我的HTML:

<div id = "ctaButton" class="animate-fadeButton">
</div>

和我的CSS:

    #ctaButton{
        position:absolute;
        margin: auto;
        left: 26%;
        top:70%;
        padding:10px;  background: #CCC;
        background-color: rgba(255,131,15,0.5);

    }

@keyframes fadeButton {
      0%   { opacity:0; }
      25%   { opacity:0; }
      35%  { opacity:1; }
      90% { opacity:1; }
      100% { opacity:0; }
      animation-timing-function: linear;
    }
    @-o-keyframes fadeButton{
      0%   { opacity:0; }
      25%   { opacity:0; }
      35%  { opacity:1; }
      90% { opacity:1; }
      100% { opacity:0; }
      animation-timing-function: linear;
    }
    @-moz-keyframes fadeButton{
      0%   { opacity:0; }
      25%   { opacity:0; }
      35%  { opacity:1; }
      90% { opacity:1; }
      100% { opacity:0; }
      animation-timing-function: linear;
    }
    @-webkit-keyframes fadeButton{
      0%   { opacity:0; }
      25%   { opacity:0; }
      35%  { opacity:1; }
      90% { opacity:1; }
      100% { opacity:0; }
      -webkit-animation-timing-function: linear;
    }
    .animate-fadeButton {
       -webkit-animation: fadeButton 15s infinite;
       -moz-animation: fadeButton 15s infinite;
       -o-animation: fadeButton 15s infinite;
        animation: fadeButton 15s infinite; 
    }

共有1个答案

昌博易
2023-03-14

您需要在关键帧动画之前而不是之后设置动画名称和时间

CSS

#ctaButton {
  position: absolute;
  margin: auto;
  left: 26%;
  top: 70%;
  padding: 10px;
  background: #CCC;
  background-color: rgba(255, 131, 15, 0.5);
}

.animate-fadeButton {
  -webkit-animation: fadeButton 15s infinite;
  -moz-animation: fadeButton 15s infinite;
  -o-animation: fadeButton 15s infinite;
  animation: fadeButton 15s infinite;
}

@keyframes fadeButton {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
  animation-timing-function: linear;
}

@-o-keyframes fadeButton {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
  animation-timing-function: linear;
}

@-moz-keyframes fadeButton {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
  animation-timing-function: linear;
}

@-webkit-keyframes fadeButton {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
  -webkit-animation-timing-function: linear;
}
 类似资料:
  • 我正在工作的HTML5横幅有很多CSS3动画。为了制作可重用的关键帧动画,我在单个元素上使用了多个动画。除了Safari之外一切都很顺利。 CSS: jsfiddle链接 可行的解决方案: 用另一个/更多元素包装该元素&为每个元素添加单个动画。此解决方案需要为包装器元素设置额外的样式。 将多个动画合并为一个&此解决方案增加了的复杂性,并且对于复杂的动画不容易维护。 根据另一个stackOverfl

  • 问题内容: 我有以下代码: 执行javascript函数后,动画会停止,但会突然停止。 我可以平稳地停止动画,以避免突然跳入,然后从停止的位置再次继续动画吗? 问题答案: 您不会喜欢这个答案,但现实是CSS3动画对于实现此目的并不是真正有用。为了完成这项工作,您需要在Javascript中复制很多CSS,这会破坏点(例如,在此密切相关的答案中,例如,[更改动画CSS3的速度?)。要真正使它平稳停止

  • 问题内容: 我有一段非常基本的HTML,其目的是使动画从变为不透明,从0变为1。 我使用的是Chrome浏览器,该浏览器使用前缀作为首选项,并进行了过渡设置以使动画成为可能。但是,它不起作用,只是在不褪色的情况下进行了更改。 我有一个JSFiddle 。 问题答案: 如果您正在使用,则应使用而不是。 请参见下面的代码段: 2016年更新的答案 为了反映当今的最佳做法,我将使用过渡而不是动画。这是更

  • 本文向大家介绍什么是关键帧动画?相关面试题,主要包含被问及什么是关键帧动画?时的应答技巧和注意事项,需要的朋友参考一下 表示关键状态的帧动画叫做关键帧动画。 所谓关键帧动画,就是给需要动画效果的属性,准备一组与时间相关的值,这些值都是在动画序列中比较关键的帧中提取出来的,而其他时间帧中的值,可以用这些关键值,采用特定的插值方法计算得到,从而达到比较流畅的动画效果。

  • 我有一个SVG线条动画绘制文本,但它似乎不能在Safari或Internet Explorer上工作。是不是我漏了什么? http://codepen.io/anon/pen/vygdzv CSS

  • 我尝试创建一个CSS动画,当你悬停在方框上时,它会显示使用CSS动画的div。我使用了以下站点作为参考。点击这里,但我似乎无法实现EFX。在我的站点上,我使用JqUERY实现了一个show and hide函数,我的addClass和RemoveClass可以正常工作,但总体来说,该函数并没有正常工作。有人能指引我正确的方向吗。 /**HTML**/ /*jquery**/ /**CSS动画**/