我发现了一个小技巧,允许我使用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 = $('<div class="preload" style="position: relative; -webkit-transform: translate('+start+'px, 0px);"/>');
我希望在将此容器附加到dom时为其提供初始位置。如何在不必手动添加每个浏览器的前缀的情况下添加代码?
答案 0 :(得分:1)
如果我理解正确,您希望自动执行将特定于供应商的前缀添加到您的css属性的过程。
jquery核心中包含一个API,允许您执行此操作。 jQuery.cssHooks
在文档中有一个关于对border-radius
做类似思考的好例子。
答案 1 :(得分:0)
在这里看到这个jsfiddle:
答案 2 :(得分:0)
你可以查看lea verou的无前缀:http://leaverou.github.com/prefixfree/
-prefix-free允许您在任何地方仅使用未加前缀的CSS属性。它在幕后工作,只在需要时将当前浏览器的前缀添加到任何CSS代码中。