如何在CSS3动画中间显示元素

时间:2013-05-04 11:42:05

标签: css3 animation css-transitions keyframe css-animations

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

#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这样的其他技巧并不能满足我的需要。

1 个答案:

答案 0 :(得分:1)

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

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

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

fiddle example