Here is a test case/live example.问题摘要:
这仅适用于WebKit:
Y.one('#container').setStyle('margin-top', 100);
这适用于所有浏览器:
Y.one('#container').setStyle('margin', 100);
为什么设置margin-top仅适用于WebKit?
编辑:修复程序如下所示,其中一个答案。你需要在这里有marginTop,然后才能运行。因此,编辑过的问题是,为什么在这种情况下你需要marginTop而不是margin-top?
答案 0 :(得分:3)
如果您要访问style
属性,则适用by the standard驼峰案例。因此,如果webkit支持像element.style["margin-top"]
那样的smth,那么这就是一个怪癖。请记住,您不是在这里直接处理CSS,它只是一个中间层。
简而言之 - marginTop
是CSS2Properties
界面的一部分,但margin-top
不是。{/ p>
某些库倾向于自动转换属性名称,即将所有带连字符的属性名称转换为驼峰大小写形式的Prototype,因此您无需担心它。
答案 1 :(得分:2)
这对我在firefox中起作用:
<div id="nav">
<a href='#' onclick='document.getElementById("nav").style.marginTop="25px";'>test</a>
</div>
答案 2 :(得分:2)
必须是marginTop
,因为您没有在CSS文件中设置CSS属性。您正在设置marginTop
对象的style
属性。 -
是标识符的无效字符。