使用浏览器前缀应用内联样式
我发现了一个小技巧,允许我使用jquery为带有供应商前缀的类添加样式:
var myTransform = ($.browser.webkit) ? '-webkit-transform' : ($.browser.mozilla) ? '-moz-transform' : ($.browser.msie) ? '-ms-transform' : ($.browser.opera) ? '-o-transform' : 'transform'; var myCSSObj = {}; myCSSObj[myTransform] = 'translate('+centrepos+'px, 0px)'; $("div.current").css(myCSSObj);
我不完全确定这是如何工作的,所以如果有人能解释我会非常感激。
但是,我的问题是关于应用此方法并将其添加到jquery片段的内联样式。 目前我有以下内容,但它是手动编写的:
$fragment = $('');
当它被附加到dom时,我想给这个容器一个初始位置。 如何在不必手动添加每个浏览器的前缀的情况下添加代码?
如果我理解正确,您希望自动化为您的css属性添加特定于供应商的前缀的过程。
jquery核心中包含一个API,允许您执行此操作。 jQuery.cssHooks
在文档中有一个关于对border-radius
进行类似思考的好例子。
在这里看到这个jsfiddle:
你可以查看lea verou的无前缀: http ://leaverou.github.com/prefixfree/
-prefix-free允许您在任何地方仅使用未加前缀的CSS属性。 它在幕后工作,只在需要时将当前浏览器的前缀添加到任何CSS代码中。