JavaScript を使わずにこれを行う方法があることを願っています。インラインブロックで表示される 2 つの要素があります。どちらも幅と高さが 200 ピクセルであるため、ブラウザーのサイズが非常に小さい (またはモバイル ブラウザーを使用している) 場合を除き、両方とも同じ行に表示されます。2 つの要素の間に 50px のスペースを確保したいので、2 番目の要素に「margin-left: 50px」を追加しました。これで問題なく動作します。両方の要素が同じ行に収まらないサイズにブラウザーのサイズが変更されると、2 番目の要素が次の行に折り返されます。問題は、2 番目の要素にまだ 50 ピクセルの左余白があるため、要素が中央に表示されないことです。JavaScript を追加して、コンテナーの高さが変化したとき (要素が次の行に折り返されたとき) を検出し、左マージンを削除することができます。
簡略化した私のコードは次のとおりです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div id="wrapper" style="text-align: center;">
<div id="elem1" style="display: inline-block; background-color: #f00; width: 200px; height: 200px;"></div>
<div id="elem2" style="display: inline-block; background-color: #00f; width: 200px; height: 200px; margin-left: 50px;"></div>
</div>
</body>
</html>