1

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

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

任何帮助将不胜感激。:)

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

4

1 回答 1

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)');
于 2019-09-27T18:18:34.780 回答