我正在投资组合,以显示我申请下一份学习的时间。 自从我们生活在2012年以来,它拥有大量精美的动画和CSS3垃圾,只是为了给他们“我们需要这个家伙”的感觉。我现在有点问题。
这是特定元素的一小部分:
/* This is the CSS of the elements with the id called 'fadein' */
#fadein {
-moz-animation-duration: 2s;
-moz-animation-name: item;
-moz-animation-delay: 4.5s;
-webkit-animation-duration: 5s;
-webkit-animation-name: item;
-webkit-animation-delay: 4.5s;
opacity:0;
-webkit-opacity:0;
}
@-webkit-keyframes item {
from {
-webkit-opacity: 0;
}
to {
-webkit-opacity: 1;
}
}
请注意我省略了Firefox关键帧,因为它们完全相同。 对,丑陋格式的CSS,使得id为'fadein'的元素...淡入。
问题是,动画结束后元素会再次消失。 这将丑陋格式的Css变成无法使用的Css。
有人知道如何在动画后保留更改后的样式吗?
我想之前已经问过这个问题,如果是这样的话,我很抱歉。
答案 0 :(得分:52)
尝试:
#fadein {
-webkit-animation-fill-mode: forwards; /* Chrome 16+, Safari 4+ */
-moz-animation-fill-mode: forwards; /* FF 5+ */
-o-animation-fill-mode: forwards; /* Not implemented yet */
-ms-animation-fill-mode: forwards; /* IE 10+ */
animation-fill-mode: forwards; /* When the spec is finished */
}
答案 1 :(得分:1)
Duopixels答案是正确的方法,但不是完全跨浏览器,但是,这个jquery插件支持动画回调,你可以在回调函数中按照自己喜欢的方式设置元素的样式:https://github.com/krazyjakee/jQuery-Keyframes