Skip to content

Instantly share code, notes, and snippets.

@barneycarroll
Created July 21, 2011 08:23
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save barneycarroll/1096784 to your computer and use it in GitHub Desktop.
Save barneycarroll/1096784 to your computer and use it in GitHub Desktop.
Simple function to determine whether a given CSS property is supported or not. Useful for conditional execution of JS animations, rounded corners, etc.
// Is the passed CSS property supported?
// eg. detectCSS('transition')
function detectCSS(prop){
var
prop = prop.replace(/-(\w)/g,function(s,g){return g.toUpperCase()}),
pre = ',Icab,Khtml,Moz,Ms,O,Webkit'.split(',');
for (var i = 0; i < pre.length; ++i){
if(i==1)
prop = prop.slice(0,1).toUpperCase() + prop.slice(1);
if(pre[i] + prop in document.documentElement.style)
return true;
}
return false;
};
@barneycarroll
Copy link
Author

Dropped hyphenated notation in favour of camelcase notation for vendor-prefixed property detection, so it works in FF again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment