2列のコンテナーが必要です。詳細:
コンテナは、(ブラウザウィンドウのサイズを変更することにより)最小幅(以前に指定された)またはレイアウトを壊すことなくはるかに大きな幅にサイズ変更できる必要があります。 「ブレイク」には、左の列のサイズの変更(固定ピクセル幅があることに注意してください)、右の列の左下への折り返し、スクロールバーの表示、右の列のブロック要素が列の幅全体を占めないことが含まれます、および一般に、上記の仕様のいずれかが真実のままではありません。
フローティング要素が使用されている場合、右の列が左の列の下に折り返されたり、コンテナに両方の列が含まれない可能性はありません(列の一部をクリップするか、列の一部が境界をオーバーフローさせることにより) )、またはそのスクロールバーが表示されます(したがって、overflow:hidden以外を使用して浮動要素の包含をトリガーすることを提案するのはうんざりします)。列に境界線を適用しても、レイアウトが崩れることはありません。列の内容、特に右の列の内容がレイアウトを壊してはなりません。
これには単純なテーブルベースのソリューションがあるように見えますが、あらゆる状況下で惨めに失敗します。たとえば、Safariでは、コンテナが小さくなりすぎると、指定した幅を維持するのではなく、左の固定幅の列が縮小します。また、CSS幅がTD要素に適用された場合、その中に何か大きなものが置かれた場合に拡大するように、要素の最小幅を参照します。 using table-layout:fixed;役に立たない。右の列を表すTD要素が残りの領域を埋めるために展開されない、または(たとえば、1ピクセル幅の3番目の列は右側にすべて押し出されます)が、右側の列の周りに境界線を配置すると、インラインコンテンツと幅が設定されたブロックレベルの要素と同じ幅になります100%は列の幅を埋めませんが、インラインコンテンツの幅と一致します(つまり、TDはコンテンツに完全に依存しているようです)。
1つの潜在的な解決策 私が見たのは複雑すぎます。 IE8、Firefox 4、Safari 5で動作する限り、IE6についてあまり気にすることはできませんでした。
どうぞ:
<html>
<head>
<title>Cols</title>
<style>
#left {
width: 200px;
float: left;
}
#right {
margin-left: 200px;
/* Change this to whatever the width of your left column is*/
}
.clear {
clear: both;
}
</style>
</head>
<body>
<div id="container">
<div id="left">
Hello
</div>
<div id="right">
<div style="background-color: red; height: 10px;">Hello</div>
</div>
<div class="clear"></div>
</div>
</body>
</html>
こちらで実際にご覧ください: http://jsfiddle.net/FVLMX/
IE8、Firefox 4、Safari 5で動作する限り、IE6についてはあまり気にしませんでした
これは私を幸せにします。
これを試してください: Live Demo
display: table
は驚くほど優れています。 IE7を気にしない場合は、自由に使用できます。 <table>
の通常の欠点はありません。
CSS:
#container {
background: #ccc;
display: table
}
#left, #right {
display: table-cell
}
#left {
width: 150px;
background: #f0f;
border: 5px dotted blue;
}
#right {
background: #aaa;
border: 3px solid #000
}
ケーキ。
960Grids を使用して 自動レイアウトビルダー に移動し、2列の流動的なデザインを作成します。動作するグリッドの幅に合わせて左の列を作成します。これはグリッドを使用する唯一の課題であり、チュートリアルを読むと非常に簡単です。簡単に言うと、グリッドの各列は特定の幅であり、使用する列の量を設定します。特定の幅の列を正確に取得するには、列の幅が正確になるように数学を調整する必要があります。それほど厳しくない。
他の人がすでにあなたのためにその戦いと戦ったので、包むチャンスはありません。おそらくあなたが行く必要がある限りの互換性。すばやく簡単に....今、ダウンロード、カスタマイズ、展開します。
出来上がり。グリッドFTW。