我想做这样的事情,但它不起作用
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
) 值;它可以是10px
or5%
或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%
. 那是你要找的吗?让我知道,如果需要,我会更改答案。:)