大量の CSS 列レイアウト情報がありますが、少なくとも一部の列が固定幅 (またはパーセンテージ) を持っていることに依存しているように見えます。
私が達成しようとしているのは 3 列のレイアウトで、左右の列の幅は可変ですが (何でも入れることができます)、それぞれ左右に固定されています。中央の列は、それらの間に残っているスペースを占めるように拡張する必要があります。つまり、右側の列に何もない場合、中央の列は画面の右側に拡張されます。
以下は、デモンストレーションを行う簡単なショップです。
中央の要素を左右の列の後に配置しても構わない場合は、次のようにすることができます。
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
側面の要素をフロートするだけで、中央の要素にはオーバーフローを追加するだけです (hidden
またはの可能性がありますscroll
)。
.left {
float: left;
}
.right {
float: right;
}
.center {
overflow: hidden;
}
フィドルは次のとおりです。
この種のレイアウトを支援するためにテーブルを (ab) 使用することができます。基本的な考え方は、表の幅を 100% (または必要に応じて固定値) に設定し、1 つの列の幅を 100% に設定し、CSS に他のセルに必要なスペースを決定させることです。簡単な JSFiddle を次に示します。
CSS は基本的に次のとおりです。
table {
width: 100%;
}
td.b {
/* Middle element that expands. */
background-color: #efe8e1;
width: 100%;
}
ノート: