2009-07-25 22 views
1

CSS不支持算法,如margin-left: -60px + 50% of the width of the parent div。但我的愿望是压倒性的。有谁知道使用JavaScript或其他方式的解决方案吗?如何使用算术设置样式属性?

感谢
迈克

回答

2

试试这个:

var elem = document.getElementById("foobar"), 
    parent = elem.parentNode; 
while (parent && parent.nodeName != "DIV") { 
    parent = parent.parentNode; 
} 
if (parent.nodeName == "DIV") { 
    elem.style.marginLeft = - 60 + (parent.style.width * 0.5) + "px"; 
} else { 
    elem.style.marginLeft = "-60px"; 
} 
+0

有没有办法获得类,而不是ID?再次感谢。 – Mike 2009-07-25 17:59:42

0

这当然是可能的JS,但具体代码将根据您所使用的(香草,框架等)不同。这里有一个jQuery的例子:

$('#div').css('width', (-60+($('#div').parent().width()*.5))+'px');