コンテナ div の中央に複数の div を配置しようとしています。ページの左側から必要なパディングを計算するためにモジュラス関数を使用しています。私が使用しているJavaScriptは次のとおりです。
JavaScript
window.addEventListener("resize", winResize, false);
var width, leftPad, space, boxWidth;
winResize();
function winResize() {
width = document.getElementById('body').offsetWidth;
boxWidth = 350 + 10 + 10;
space = width % boxWidth;
document.getElementById('a').innerHTML = width + '....' + space;
leftPad = space / 2;
document.getElementById('container').style.paddingLeft = leftPad + 'px';
document.getElementById('container').style.width -= leftPad;
};
HTMLは次のとおりです。
<div id="container">
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
</div>
そしてCSS:
#container {
width: 100%;
float: left;
}
#container .block {
width: 350px;
height: 350px;
background-color: 4e4e4e;
float: left;
margin: 10px;
}
私の問題はこのコードにあります。左側のパディングがコンテナ div を右側に押し込み、ページがウィンドウよりも広くなります。コンテナーの幅 (winResize 関数の一番下の行) からパディングを削除しようとしましたが、これは何もしないようです。この「余分な div」を CSS パディング/マージンで削除する方法はありますか?