css - 如何在CSS3动画中间显示一个元素

标签 css animation css-transitions keyframe css-animations

在此example ,我只想在动画的一个步骤中显示元素。然而,这是不可能的,因为如果我在主要的 CSS 规则中设置 display:none,动画将不会覆盖它。

#test {
    -webkit-animation: test 2s;
    display:none; // here is the problem, as the animation does not override it.
}

@-webkit-keyframes test {
    0%{margin:5px}
    20%{display:block}
    70%{margin:40px}
}

请注意,这是一个简化的示例,在实践中,我需要使用 display:none 来隐藏元素,然后再通过动画显示该元素。因此,opacity 等其他技巧无法满足我的需求。

最佳答案

我不确定您要做什么,如果您想隐藏元素并在动画开始时显示它,请使用这样的可见性属性:

#test {
  -webkit-animation: test 2s;
  visibility:hidden;
 }

@-webkit-keyframes test {
   0%{margin:5px}
  20%{visibility:visible}
  70%{margin:40px}
}

fiddle example

关于css - 如何在CSS3动画中间显示一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373884/

相关文章:

html - CSS中的分层定时动画?

html - 想要通过从页面顶部引入图像来实现滑动显示过渡

css - 打印时处理响应式媒体查询

android - Android 上是否有类似 iOS CAEmitterLayer 的圆形发射器的粒子发射器?

Android-setDuration 不起作用?对象动画师

jquery - 立方体图像在 3d 动画中看起来不太好

javascript - CSS3 动画 - 使用过渡 : 时不会触发 animationstart 事件

javascript - Wordpress 主题中古怪的 JS 代码

java - 在 Java 桌面应用程序中使用 CSS 和 JavaScript

css - 如何在 CSS 中创建这样的布局?