如何使用算术设置样式属性?

时间:2009-07-25 17:29:53

标签: javascript html css

CSS不支持margin-left: -60px + 50% of the width of the parent div等算术。但我这样做的愿望是压倒性的。有没有人知道使用JavaScript或其他方式的解决方案?

感谢
麦克

2 个答案:

答案 0 :(得分: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";
}

答案 1 :(得分:0)

使用JS肯定是可能的,但具体代码会因您使用的内容(vanilla,框架等)而有所不同。这是一个jQuery示例:

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