2016-11-08 89 views
0

HTML代码:Css3 Transition + Transform属性在早期版本的IE中不起作用?

<!DOCTYPE html> 
<html> 
<head> 
     <link rel="stylesheet" href="css/demo.css" /> 
</head> 
<body> 
    <div></div>  
</body> 
</html> 

CSS代码:

div { 
    width: 100px; 
    height: 100px; 
    background: red; 
    -webkit-transition: width 2s, height 2s, -webkit-transform 2s; /* Safari */ 
    -ms-transition: width 2s, height 2s, -webkit-transform 2s; /*IE */ 
    transition: width 2s, height 2s, transform 2s; 
} 

div:hover { 
    width: 300px; 
    height: 300px; 
    -webkit-transform: rotate(180deg); /* Safari */ 
    -sand-transform: rotate(180deg); /*IE9 */`` 
    transform: rotate(180deg); 
    -ms-transform: rotate(180deg); 
} 

我无法弄清楚,为什么CSS3过渡和转换不是在IE9和更早版本的工作。 我试过-ms-,-sand-prefix也可以,但还不行。

回答

1

IE9及以下版本不支持CSS转换。

http://caniuse.com/#feat=css-transitions

此外,IE10使用前缀的过渡。 (所以-ms转换在这里没用)

使用Modernizr检测是否支持css转换,否则使用jQuery Animate替换所有不支持CSS转换的浏览器(包括IE9)。

if(!Modernizr.csstransitions) { // CSS ANimations Not supported. 
//ADD YOUR CODE HERE 
}