如何在父动画完成动画后使子元素的动画发生,即父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;
}
非常感谢
答案 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>