左、中央、右に要素を含むヘッダーがあります。これを実現するために、フロート左 div、フロート右div、およびマージン 0 自動 div をここに例として示します。
<div style="text-align: center;" >
<div style="width: 200px; height: 100px; background: red; float: left;"></div>
<div style="width: 100px; height: 100px; background: blue; float: right;"></div>
<div style="background: green; margin: 0 auto; display: inline-block;">
<div style="width: 150px; height: 100px; background: orange;"></div>
</div>
</div>
中央のコンテンツの幅を変更できるようにするために、中央の div をインライン ブロックに設定しました。ただし、そうすることで、margin: auto は浮動要素を実際にスペースを保持しているように扱います。左が右よりも広い場合、中央の要素がわずかに (またはそれほどでもなく) 中心からずれてしまいます。
できればスクリプトに頼らずに、私がやろうとしていることを行う方法はありますか? その必要がある場合は、中央の列を固定幅にすることの結果に対処したいと思います。
[編集] 中間または右のコンテンツが存在しない場合があることに注意してください。