2009-08-27 11 views

答えて

35

私はあなたがそれをこの方法で行うことができると信じて:

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!'); 
} 
+0

例:http://jsbin.com/etusoy/latest – starbeamrainbowlabs

+1

それが、これは技術的にブラウザが 'transform'スタイルではなく、具体的'回転を() 'CSS3をサポートしているかどうかをテストすることは注目に値するかもしれ[変換関数](https://developer.mozilla.org/en-US/docs/Web/CSS/transform#CSS_transform_functions)を参照してください。私の(限られた)経験では、前者は常に後者を暗示していますが、それが信頼できる仮定であるかどうかはわかりません([この質問]を参照してください(http://stackoverflow.com/questions/23528176/do-all-browsers -sat-support-css3-transforms-also-support-all-transform-function))。 – Kylok

+0

実例:http://jsfiddle.net/dp3ueaz5/ しかし、私はむしろこの機能を使用したいと思います:http://code.tutsplus.com/tutorials/quick-tip-detect-css-support-in-browsers-with -javascript-net-16444 ベンダーのプレフィックスを自動的に確認する方が理解しやすくなります。 ;) – Dennis98

6

その目的のために、新しい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)"); 

Iは、機能検出のためのModernizrを使用するようにお勧めします。

0

Modernizrライブラリを使用できます。

CSS変換の例:

.cssファイル。

.no-csstransforms .box { color: red; } 
.csstransforms .box { color: green; } 

.jsファイル。

if (Modernizr.csstransforms) { 
    // supported 
} else { 
    // not-supported 
} 
-1

お試しください。

var temp = document.createElement('div'); 
var isSupport = temp.style['propName'] != undefined; 
関連する問題