CSS不支持margin-left: -60px + 50% of the width of the parent div
等算术。但我这样做的愿望是压倒性的。有没有人知道使用JavaScript或其他方式的解决方案?
感谢
麦克
答案 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');