Check browser CSS property support with JavaScript?

你离开我真会死。 提交于 2019-11-26 07:28:44

问题


Is it possible in JavaScript to know if a CSS property is supported by the client browser? I\'m talking about the rotation properties of CSS3. I want to execute some functions only if the browser supports them.


回答1:


I believe you can do it this way:

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



回答2:


There is a new DOM API CSS.supports for that purpose. FF, Opera (as supportsCSS) and Chrome Canary already implement this method.

For cross-browser compatibility you can use my CSS.supports polyfill

Example:

CSS.supports("display", "table");//IE<8 return false

But, you still need to specify browser prefix for prefixing css properties. For example:

CSS.supports("-webkit-filter", "blur(10px)");

I suggest to using Modernizr for feature-detection.




回答3:


You can use Modernizr library.

Example for css transform:

in .css file;

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

in .js file;

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



回答4:


May be try this?

var temp = document.createElement('div');
var isSupport = temp.style['propName'] != undefined;


来源:https://stackoverflow.com/questions/1342994/check-browser-css-property-support-with-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!