Guffaの答えは多くの状況で機能しますが、場合によっては、左および/または右のパディングを中央のdivの親にしたくないことがあります。これらの場合、中央でブロック書式設定コンテキストを使用して、パディングdivを左右にフロートさせることができます。これがコードです
HTML:
<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>
CSS:
.container {
width: 100px;
height: 20px;
}
.left, .right {
width: 20px;
height: 100%;
float: left;
background: black;
}
.right {
float: right;
}
.center {
overflow: auto;
height: 100%;
background: blue;
}
ネストされたネストされたdivと比較した場合、この要素の階層はより自然であり、ページの内容をよりよく表すと思います。このため、ボーダー、パディング、マージンは通常すべての要素に適用できます(つまり、この「自然さ」はスタイルを超えており、影響があります)。
これは、「デフォルトで幅の100%塗りつぶす」プロパティを共有するdivおよびその他の要素でのみ機能することに注意してください。入力、テーブル、およびその他の可能性のあるものは、コンテナーdivでそれらをラップし、この品質を復元するためにもう少しcssを追加する必要があります。そのような状況になるほど運が悪い場合は、私に連絡してください。CSSを詳しく調べます。
ここにjsfiddle:jsfiddle.net/RgdeQ
楽しい!