对于不同的过渡开/关类,但相同的属性

对于不同的过渡开/关类,但相同的属性

问题描述:

我有翻译本身在一个简单的过渡一个div:对于不同的过渡开/关类,但相同的属性

div{ 
    transform: translate3d(0, -100%, 0); 
    transition: all .5s; 
} 

div.active{ 
    transform: translate3d(0, 0, 0); 
} 

然后,我与切换JS类和它完美的作品。这将执行以下操作:

On --> Slide div down 
Off --> Slide div up 

我想要做的是:

On --> Slide div down 
Off --> Slide div down again 

有没有办法来实现这一目标?

编辑:下面是什么它做了演示:https://jsfiddle.net/bwzy89oq/(点击任何地方)

+0

您能否提供演示? – sol

+0

是的,请等一下请 – nick

+0

@ovokuro加入! – nick

这确实你需要什么,排序的,但它开始播放动画。我正在研究如何逻辑:

div { 
    width: 100%; 
    height: 100%; 
    position: fixed; 
    top: 0; 
    left: 0; 
    transform: translate3d(0, 100%, 0); 
    background: black; 
    transition: all .5s ease-in-out; 
    animation: slider2 .5s forwards; 
} 

div.active { 
    animation: slider .5s forwards; 
    /*transform: translate3d(0, 0, 0);*/ 
} 

@keyframes slider { 
    from { 
    transform: translate3d(0, -100%, 0); 
    } 
    to { 
    transform: translate3d(0, 0, 0); 
    } 
} 


@keyframes slider2 { 
    from { 
    transform: translate3d(0, 0, 0); 
    } 
    to { 
    transform: translate3d(0, 100%, 0); 
    } 
} 
+0

这正是我正在寻找的,如果你设法避免第一次发射动画,这将是惊人的! – nick

+0

嘿!把它看作是JS的一小部分,只需将div上的不透明度设置为0,并在第一次单击时将它设置回1:D – nick

+0

很酷。是的,使用JS是一个简单的解决方案。我一直在寻找一种纯粹的CSS方法,但事实证明它很棘手。 –