<style>elements and adds a vendor prefix where needed
styleattribute and adds a vendor prefix where needed
styleattribute changes and CSSOM changes (requires plugin)
.css()method to get and set unprefixed properties (requires plugin)
@import-ed files is not supported
styleattribute) won’t work in IE and Firefox 3.6 and below.
Check this page’s stylesheet ;-)
BTW: This page is a bit slow, because I went crazy with the CSS3 in it, to demonstrate prefixfree. It’s not prefixfree making it slow.
prefixfree.js anywhere in your page. It is recommended to put it right after the stylesheets, to minimize FOUC
That’s it, you’re done!
The target browser support is IE9+, Opera 10+, Firefox 3.5+, Safari 4+ and Chrome.
If it doesn’t work in any of those, it’s a bug so please report it. Just before you do, please make sure that it’s not because the browser doesn’t support a CSS3 feature at all, even with a prefix.
In older browsers like IE8, nothing will break, just properties won’t get prefixed. Which wouldn’t be useful anyway as IE8 doesn’t support much CSS3 ;)
Test the prefixing that PrefixFree would do for this browser, by writing some CSS below:
Not really. Properties that already have a prefix won’t be altered. So, if you want to specify different behavior for a certain engine just use already prefixed properties.
Firefox (and IE?) natively support local XHR, so PrefixFree will work fine locally with them.
To enable local XHR for Chrome, you need to run it with the flag
To enable local XHR for Opera, you have to go to opera:config#UserPrefs|AllowFileXMLHttpRequest, check that option and Save.
A server side script would need to add all prefixes, making the size of the CSS file considerably larger. Also, it should maintain a list of features that need prefixes, or add them all and unnecessarily bloat the stylesheet. Prefixfree automatically detects what needs a prefix and what doesn’t.
But every solution has its own pros and cons. If you would feel more comfortable with a server-side script, use that. Remember: nobody forced you to use PrefixFree. KTHXBAI ☺
Extra code on top of PrefixFree that makes it more flexible, integrates it with different APIs etc
Originally a part of PrefixFree, it’s now a separate plugin. It makes PrefixFree take care of:
<style>added to the document afterwards
styleattribute added to the document afterwards
styleattribute changes through
setAttribute()(except in Webkit)
element.style.transform = 'rotate(10deg)';
styleattribute modifications will not work in Webkit
element.style.transform = 'rotate(5deg)';will not work in Chrome (reading will)
Get the Dynamic DOM plugin now:
A tiny plugin (I didn’t even bother minifying it as it’s so small) that lets you set/get unprefixed CSS properties through jQuery's
Get the jQuery plugin now: