父元素和子元素的css3顺序动画

时间:2015-02-02 14:46:26

标签: html css css3 css-animations

如何在父动画完成动画后使子元素的动画发生,即父div淡入然后其子元素在1秒后淡出?

我尝试了许多技巧但没有任何效果,子元素仍然与父元素同时消失。

请参见此处:http://jsfiddle.net/oeLbh43o/

HTML:

<div class="parent">
    <h1>The Title Here</h1>
</div>

CSS:

.parent {
    width: 250px;
    height: 250px;
    background: #fff;
    border: 1px solid #000;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.parent h1 {
    -webkit-transition: all 0.9s ease-in-out;
    -moz-transition: all 0.9s ease-in-out;
    transition: all 0.9s ease-in-out;
    opacity: 0;
}

.parent:hover {
    width: 300px;
    height: 300px;
}
.parent:hover h1 {
    opacity: 1;
    -webkit-animation-delay: 5s;
    -moz-animation-delay: 5s;
    animation-delay: 5s;
}

非常感谢

1 个答案:

答案 0 :(得分:3)

您正在使用CSS转换,因此您应指明transition-delay而不是animation-delay

.parent {
    width: 250px;
    height: 250px;
    background: #fff;
    border: 1px solid #000;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -webkit-transition-delay: 2s;
    -moz-transition-delay: 2s;
    transition-delay: 2s;
}

.parent h1 {
    -webkit-transition: all 0.9s ease-in-out;
    -moz-transition: all 0.9s ease-in-out;
    transition: all 0.9s ease-in-out;
    opacity: 0;
    -webkit-transition-delay: 0;
    -moz-transition-delay: 0;
    transition-delay: 0;
}

.parent:hover {
    width: 300px;
    height: 300px;
    -webkit-transition-delay: 0;
    -moz-transition-delay: 0;
    transition-delay: 0;
}
.parent:hover h1 {
    opacity: 1;
    -webkit-transition-delay: 2s;
    -moz-transition-delay: 2s;
    transition-delay: 2s;
}
<div class="parent">
    <h1>The Title Here</h1>
</div>