首先 - 设置样式的正确方法是:
image.style.margin = "margin: 0 " + (300 - image.clientWidth / 2).toString() + "px";
(好吧,也许没有区别,但是.style
propery应该用于用JS改变元素的样式)
第二 - 您确定执行该代码时图像已经加载吗?如果没有 -image.clientWidth
可能还不可用。onload
确定加载图像时,您可能需要使用事件来运行该代码。
第三 - 如布鲁诺的回答中所述,margin:0 auto;
将自动将您的图像置于 div 的中心,因此根本不需要 JS。
编辑:
但是使用第三种方法会出现问题,因为图像不是块元素。为了使其工作,请执行以下操作:
<div style="
width: 600px;
"><img src="Bilder/re-tabouret/lukas_baumgartner_re_tabouret_1@b.jpg" alt="mainArticleImg" class="projektMainImg" id="01:00" style=""></div>
将图像包装到具有指定宽度的 div 中并像这样更新 css:
img.projektMainImg {
margin: 0 auto;
max-width: 600px;
max-height: 400px;
display: block;
}
(见display:block
添加)或者简单地用指定宽度的 div 包装图像并添加text-align:center
到它的样式(不需要显示块和边距):
<div style="
width: 600px;
text-align: center;
"><img src="Bilder/re-tabouret/lukas_baumgartner_re_tabouret_1@b.jpg" alt="mainArticleImg" class="projektMainImg" id="01:00" style=""></div>
需要 Wraper div 以使图像在左侧 600px 区域居中。否则它将相对于<div class="projektImages">