まず、スタイルを設定する正しい方法は次のとおりです。
image.style.margin = "margin: 0 " + (300 - image.clientWidth / 2).toString() + "px";
(まあ、違いはないかもしれませんが.style
、JSで要素のスタイルを変更するためにproperyが使用されることになっています)
2番目-そのコードが実行されたときにイメージがすでにロードされていることを確認しますか?いいえの場合-image.clientWidth
まだ利用できない可能性があります。onload
画像が確実に読み込まれるときに、イベントを使用してそのコードを実行する必要がある場合があります。
3番目-ブルーノの回答で述べられているようにmargin:0 auto;
、画像は自動的にdiv内の中央に配置されるため、JSはまったく必要ありません。
編集:
しかし、3番目のアプローチでは、画像がブロック要素ではないため、問題が発生します。それを機能させるには、次のようなことを行います。
<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>
画像を左600ピクセルの領域の中央に配置するには、ラッパーdivが必要です。それ以外の場合は、<div class="projektImages">