我看过这里发布的不同答案,但没有任何对我有用......
什么:我有一个缩小到0.6的div,当被调用时应该扩展到1(100%)。
问题:在Firefox中,#myDiv正在按预期扩展,但Chrome或Safari(在Mac上)没有任何反应。
我有这个DIV代码:
#myDiv {
-moz-animation: changeSize 1s ease-out .5s forwards; /* Fx 5+ */
-webkit-animation: changeSize 1s ease-out .5s 0 forwards; /* Safari 4+ */
-o-animation: changeSize 1s ease-out .5s forwards; /* Opera */
-webkit-transform: scale(0.6);/* Saf3.1+, Chrome */
-moz-transform: scale(0.6); /* FF3.5+ */
-ms-transform: scale(0.6); /* IE9 */
-o-transform: scale(0.6); /* Opera 10.5+ */
transform: scale(0.6);
display: inline-block;
opacity:100;
background-image: url(img.png);
width: 154px;
height: 28px;
position: absolute;
left: 145px;
top: 5px;
}
扩展过渡的关键帧动画:
@keyframes changeSize {
0% {transform:scale(0.6)}
100% {transform: scale(1)}
}
@-moz-keyframes changeSize /* Firefox */ {
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
@-webkit-keyframes changeSize /* Safari and Chrome */{
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
@-o-keyframes changeSize /* Opera */ {
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
HTML:
请告知我在这里缺少的东西!
谢谢!
答案 0 :(得分:3)
您的错误就在这一行:
-webkit-animation: changeSize 1s ease-out .5s 0 forwards;
有一个不必要的0
!
最后,
@-moz-keyframes changeSize /* Firefox */ {
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
@-webkit-keyframes changeSize /* Safari and Chrome */{
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
@-o-keyframes changeSize /* Opera */ {
0% {transform:scale(0.6)}
100% {transform:scale(1)}
}
在这些关键帧中,你遗漏了一些东西。没有任何转换属性具有浏览器支持前缀。例如:
@-webkit-keyframes changeSize /* Safari and Chrome */{
0% {-webkit-transform:scale(0.6)}
100% {**-webkit-**transform:scale(1)}
}
我在转换属性中添加了-webkit-前缀,现在它将显示在Google Chrome和Safari中。
附注:您可能有一些不必要的代码块。 -moz - , - ms-,和-o - 。