检测CSS Matrix支持

时间:2012-04-03 10:04:14

标签: css matrix css-transforms browser-feature-detection

我正在使用Modernizr进行特征检测,使用TransformJS来设置CSS3D属性的动画。 TransformJS使用CSS矩阵来设置平移,缩放和旋转属性的风格,它工作正常,即使在IE中也是如此,因为它通过filter属性支持矩阵变换。

我的问题是Opera只支持CSS矩阵,因为Opera Presto 2.5现在似乎处于alpha / beta状态。有没有办法检测浏览器是否能够进行CSS矩阵转换?

任何帮助都将受到赞赏。 :)

编辑:好的,我错了:) Opera确实支持CSS矩阵,但值必须是无单位的。但测试它仍然会很有趣。

1 个答案:

答案 0 :(得分:0)

是的,对于矩阵类型,您需要使用不带单位的值。 无论如何,您可以像这样检查支持: 创建一个元素,将属性(transform:matrix(...))交给他,而不是查看该元素的样式。如果他拥有您的财产,则意味着浏览器支持它。

supportProperty = function(propertyName,propertyValue){
    let elem = document.createElement('div');
    elem.style.cssText = propertyName + ':' + propertyValue;
    return elem.style[propertyName].match(propertyValue) ? true : false;
};
supportProperty('transform','matrix(1,0,0,1,0,0)');
相关问题