2014-04-22 37 views
0

我有这个CSS3动画问题:为什么这个CSS3动画会立即发生?

@-webkit-keyframes hide_card { 
    0% { 
    width: 250px; 
    margin-left: 10px; 
    margin-right: 10px; 
    border-width: 3px; 
    } 
    100% { 
    width: 0px; 
    margin-left: 0px; 
    margin-right: 0px; 
    border-width: 0px; 
    } 
} 

@-moz-keyframes hide_card { 
    0% { 
    width: 250px; 
    margin-left: 10px; 
    margin-right: 10px; 
    border-width: 3px; 
    } 
    100% { 
    width: 0px; 
    margin-left: 0px; 
    margin-right: 0px; 
    border-width: 0px; 
    } 
} 

@-ms-keyframes hide_card { 
    0% { 
    width: 250px; 
    margin-left: 10px; 
    margin-right: 10px; 
    border-width: 3px; 
    } 
    100% { 
    width: 0px; 
    margin-left: 0px; 
    margin-right: 0px; 
    border-width: 0px; 
    } 
} 

@keyframes hide_card { 
    0% { 
    width: 250px; 
    margin-left: 10px; 
    margin-right: 10px; 
    border-width: 3px; 
    } 
    100% { 
    width: 0px; 
    margin-left: 0px; 
    margin-right: 0px; 
    border-width: 0px; 
    } 
} 

这里的元素:

.activity .card.invisible { 
    width: 0px; 
    border-width: 0px; 
    margin: 0px; 
    opacity: 0; 
    -webkit-animation-name: hide_card; 
    -moz-animation-name: hide_card; 
    animation-name: hide_card; 

    -webkit-animation-duration: 1s; 
    -moz-animation-duration: 1s; 
    animation-duration: 1s; 

    -webkit-animation-iteration-count: 1; 
    -moz-animation-iteration-count: 1; 
    animation-iteration-count: 1; 
} 

在我的JavaScript,我加入使用JQuery的invisible类,元素被隐藏起来(与这个类被添加到检查器中),但它在没有动画的情况下立即执行。

任何帮助将不胜感激,我可以根据需要提供更多信息。

回答

2

是的,您需要在卡片获得.invisible类之前添加动画规则。所以它会是这个样子我想:

.activity .card { 
    transition: all 1s ease 1s; 
    width: 250px; 
    margin-left: 10px; 
    margin-right: 10px; 
    border-width: 3px; 
} 

.activity .card.invisible { 
    width: 0px; 
    border-width: 0px; 
    margin: 0px; 
    opacity: 0; 
} 

我用速记和省略供应商前缀...

相关问题