From jQuery 1.8 Release
CSS auto prefix. When you use the CSS property, in .css () or .animate (), use the correct prefix property (if necessary) for this browser. For example, take .css ("user-select", "none"); in Chrome / Safari, set the value to -webkit-user-select, Firefox will use -moz-user-select, and IE10 will use -ms-user-select.
Update to the latest version and this should be done automatically.
Edit
This should work automatically, the following should be implemented in jQuery 1.8,
var cssPrefixString = {}; var cssPrefix = function(propertie) { if (cssPrefixString[propertie] || cssPrefixString[propertie] === '') return cssPrefixString[propertie] + propertie; var e = document.createElement('div'); var prefixes = ['', 'Moz', 'Webkit', 'O', 'ms', 'Khtml']; // Various supports... for (var i in prefixes) { if (typeof e.style[prefixes[i] + propertie] !== 'undefined') { cssPrefixString[propertie] = prefixes[i]; return prefixes[i] + propertie; } } return false; };
Using
var cssTransform = cssPrefix('Transform'); // "MozTransform" or "WebkitTransform" if (cssTransform ) { var cssProp = {}; cssProp['border'] = '1px solid rgba(0, 0, 0, .5)'; cssProp[cssPrefix('Transform')] = 'rotate(20deg)'; cssProp[cssPrefix('borderRadius')] = '5px'; // Keep the camelCaze (jQuery like) cssProp[cssPrefix('boxShadow')] = '2px 2px 6px grey'; $('div#myDiv').css(cssProp); // console.log(cssProp); }
What came from the link - working jsFiddle
So, one of these two methods should work for you.
source share