【发布时间】:2017-03-02 08:32:18
【问题描述】:
我正在尝试制作一个包含 2 个部分的 css3 图标动画:第二个必须在第一个完成时开始(该部分有效)并且在鼠标移开时,第二个应该在第一个完成之前完成(即问题,它不会那样做)。请have a look here。
HTML:
<div class="iconsArea">
<div class="icon green">
<div class="megafono">
<div><!-- megafono --></div>
</div>
<div class="wave">
<div><!-- wave --></div>
</div>
</div>
</div>
CSS
.icon{
width: 126.5px;
height: 126.5px;
-moz-border-radius: 70px;
-webkit-border-radius: 70px;
border-radius: 70px;
position: relative;
}
.green{
background: #7ec247;
}
/* MEGAFONO STARTS */
/* initial state */
div.megafono {
position: absolute;
bottom: 22px;
left: 18px;
-webkit-transition: all 1s ease-in;
-moz-transition: all 1s ease-in;
-o-transition: all 1s ease-in;
transition: all 1s ease-in;
}
div.megafono div {
width: 82px;
height: 79px;
background: url(../img/microfono.png) no-repeat;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
/* hover final state */
.icon:hover div.megafono {
-webkit-transform: translate(-5px, 10px);
-moz-transform: translate(-5px, 10px);
-o-transform: translate(-5px, 10px);
-ms-transform: translate(-5px, 10px);
transform: translate(-5px, 10px);
animation-delay: 0s, 2s;
-moz-animation-delay: 0s, 2s;
-webkit-animation-delay: 0s, 2s;
-o-animation-delay: 0s, 2s;
}
.icon:hover div.megafono div {
-webkit-transform: rotate(-45eg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
/* MEGAFONO ENDS */
/* WAVE STARTS */
/* initial state */
div.wave {
position: absolute;
top: 10px;
right: 20px;
-webkit-transform: rotate(-45eg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
transition-delay: 1s, 0s;
-webkit-transition-delay: 1s, 0s; /* Safari */
}
div.wave div {
width: 24px;
height: 43px;
background: url(../img/wave.png) no-repeat;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
/* hover final state */
.icon:hover div.wave {
-webkit-opacity: 1;
-moz-opacity: 1;
opacity: 1;
}
/* WAVE ENDS */
建议改正?
【问题讨论】:
-
我不确定你所说的是什么意思,最后反过来(这就是问题)你能详细说明一下吗?
-
除了正在发生的事情和预期的结果之外,请在问题本身中输入相关代码
-
请看动画,用文字描述更清楚,步骤如下: 1. 悬停时:扩音器旋转。 2. 波浪来自它 3. 鼠标移出:扩音器旋转回来 4. 波浪出来了 在扩音器回到默认位置之前,波浪应该走
标签: css animation css-animations