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
楽しみ!