css3 父子元素的顺序动画

css3 sequential animation for parent and child elements

如何让子元素的动画在父元素完成其动画后发生,即父元素 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;
}

非常感谢

您正在使用 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>