CSS不支持像margin-left: -60px + 50% of the width of the parent div
这样的算法。但我想这样做的愿望是压倒一切的。有没有人知道使用JavaScript或其他方式的解决方案?
谢谢
麦克
发布于 2009-07-25 17:35:02
试试这个:
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";
}
发布于 2009-07-25 17:36:01
使用JS当然是可能的,但具体的代码将根据您使用的不同而有所不同(vanilla、框架等)。下面是一个jQuery示例:
$('#div').css('width', (-60+($('#div').parent().width()*.5))+'px');
https://stackoverflow.com/questions/1182573
复制相似问题