それは非常に単純な質問です... 一見すると。そして、2番目はそれほど単純ではありません。:-/
div #main に含まれる #content と #sidebar (この順序で!) の 2 つの div があります。#content div には非常に長いテーブルまたは文字列が含まれている可能性があり、それらをトリミングしたり、それ自体の幅を広げたりしてはならないため、overflow:hidden およびあらゆる種類のフローは許可されません。#sidebar div は、#content よりも高い場合があります。#main div は、内部で最も高い div の高さを持つ必要があるため、「位置: 絶対; 上: 0;」for #sidebar は解決策ではありません。
質問: #content にフロートを一切使用せず、すべての div を #main 内に完全に保持しながら、#content div の左側に #sidebar div を設定することは可能ですか?
ここにイラストを作成しました:http://jsfiddle.net/dZLmu/
HTML
<div id="main">
<div id="content">
<p>It's a content area. It can contain a very long
tables or strings which must not be cropped by
overflow: hidden and must no extend a width of
div itself. Something like that:</p>
<p>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW</p>
</div>
<div id="sidebar">
<p>It's a sidebar.</p>
<p>It can be higher then content area.</p>
<p>Menu item #.</p>
<p>Menu item #.</p>
<p>Menu item #.</p>
<p>Menu item #.</p>
<p>Menu item #.</p>
<p>Menu item #.</p>
</div>
<div id="clearfix"></div>
</div>
CSS
#main {
background-color: silver;
margin: 0 auto;
widht: 500px;
#position: relative;
}
#content {
background-color: green;
margin-left: 100px;
}
#sidebar {
background-color: red;
float: left;
width: 100px;
#position: absolute;
#top: 0;
}
#clearfix {
clear: both;
}