在 JavaScript 中是否可以知道客户端浏览器是否支持 CSS 属性?我说的是 CSS3 的旋转属性。我只想在浏览器支持的情况下执行某些功能。
问问题
16250 次
4 回答
41
我相信你可以这样做:
if ('WebkitTransform' in document.body.style
|| 'MozTransform' in document.body.style
|| 'OTransform' in document.body.style
|| 'transform' in document.body.style)
{
alert('I can Rotate!');
}
于 2011-08-03T10:13:08.373 回答
8
为此目的,有一个新的 DOM API CSS.supports。FF、Opera(作为supportsCSS)和Chrome Canary 已经实现了这个方法。
对于跨浏览器兼容性,您可以使用我的CSS.supports polyfill
例子:
CSS.supports("display", "table");//IE<8 return false
但是,您仍然需要指定浏览器前缀来为 css 属性添加前缀。例如:
CSS.supports("-webkit-filter", "blur(10px)");
我建议使用Modernizr进行特征检测。
于 2013-06-21T16:22:02.960 回答
0
您可以使用Modernizr库。
css 转换示例:
在 .css 文件中;
.no-csstransforms .box { color: red; }
.csstransforms .box { color: green; }
在 .js 文件中;
if (Modernizr.csstransforms) {
// supported
} else {
// not-supported
}
于 2016-09-02T12:35:13.840 回答
0
可以试试这个吗?
var temp = document.createElement('div');
var isSupport = temp.style['propName'] != undefined;
于 2017-06-05T10:20:55.863 回答