javascript - 使用JS水平居中没有宽度的div

标签 javascript center

我正在编写我的毕业作品,但我无法将 div 与不断变化的内容(图片上传)居中。

在我的脚本中我创建了 <img id="uploaded">并将上传的图片插入其中,这个<img>插入 <div id="canvas"></div> .

在我的 CSS 中:

#canvas {
    position: absolute;
    left: 50%;
    z-index: 500;
}

我试过了:

var canvaswidth = document.getElementById('uploaded').width;

为了获得 img 宽度,我想添加一个负的左边距以使我的 div 居中。

我试过了:

document.getElementById('canvas').style.marginLeft = - canvaswidth / 2;

但这行不通。你能帮我让它工作吗?

最佳答案

你需要单位:

document.getElementById('canvas').style.marginLeft = - canvaswidth /2 + 'px';

但是,您可以使用“绝对居中”:

#canvas {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}

只需将 width 设置为所需的值即可:

document.getElementById('canvas').style.width = canvaswidth + 'px';

关于javascript - 使用JS水平居中没有宽度的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546816/

相关文章:

html - 如何水平和垂直居中一个div

css - 3 div 嵌套在居中的 div 中,但在没有时充当边距或填充

css - 无法居中图像 (css)

javascript - 如何使整个图像比较 slider 居中

controls - 我可以在某些 View 上阻止 ios7 中出现的控制中心吗?

javascript - 如何在 ReactJS JSX 中执行嵌套的 if else 语句?

javascript - 导航栏链接滚动到顶部

javascript - 动态改变颜色

javascript - KineticJS 拖动多个图像而不对它们进行分组

javascript - 如何使用 JavaScript 查找数组中负数的索引