25

在 JavaScript 中是否可以知道客户端浏览器是否支持 CSS 属性?我说的是 CSS3 的旋转属性。我只想在浏览器支持的情况下执行某些功能。

4

4 回答 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 回答