CSS:为什么设置margin-top仅适用于Webkit?

时间:2010-08-12 23:14:14

标签: css firefox webkit yui

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?

3 个答案:

答案 0 :(得分:3)

如果您要访问style属性,则适用by the standard驼峰案例。因此,如果webkit支持像element.style["margin-top"]那样的smth,那么这就是一个怪癖。请记住,您不是在这里直接处理CSS,它只是一个中间层。

简而言之 - marginTopCSS2Properties界面的一部分,但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属性。 -是标识符的无效字符。