CSS Transform Scale无法在Chrome,Safari中使用

时间:2013-05-03 18:31:29

标签: google-chrome css3 safari transform scale

我看过这里发布的不同答案,但没有任何对我有用......

什么:我有一个缩小到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:              
        

请告知我在这里缺少的东西!

谢谢!

1 个答案:

答案 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 - 。