我想做这样的事情,但它不起作用
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
我该怎么做?
我想做这样的事情,但它不起作用
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
我该怎么做?
您必须添加px,Element.style.marginLeft不接受数字。它应该是有效的 CSS 属性 ( margin-left) 值;它可以是10pxor5%或auto;
document.getElementById("center_div").style.marginLeft = x + 'px';
您的代码很好,但缺少一件事。您必须在 X 变量之后加上“px”。换句话说,它应该是:
document.getElementById("center_div").style.marginLeft = x+"px";
否则,浏览器将不知道它的单位。
我在 jsfiddle 中做了一个示例,这将是一个工作示例。尝试一下。http://jsfiddle.net/TLPak/
PS。我已经更新了代码以在其中包含 window.onresize。(还有一些改进,考虑了 DIV 的宽度。)http://jsfiddle.net/TLPak/1/ 通过单击事件或窗口调整大小事件触发它都可以。希望它对你有一些帮助。
function center() {
var x=window.innerWidth;
x = x/2;
var y = document.getElementById("center_div").offsetWidth;
y = y/2;
document.getElementById("center_div").style.marginLeft = x - y + "px";
}
window.onresize = center;
我认为您正在寻找的是 css 属性margin: auto。随机示例(不是我的):http ://bluerobot.com/web/css/center1.html 。此外,你会想要width: 50%. 那是你要找的吗?让我知道,如果需要,我会更改答案。:)