<div id="wrapper">
<div id="header">...</div>
<div id="main">
<div id="content">...</div>
<div id="sidebar">...</div>
</div>
</div>
#wrapper { min-width: 900px; }
#main { display: table-row; }
#content { display: table-cell; }
#sidebar { display: table-cell; width: 250px; }
問題は、サイドバーが常にページの右端にあるとは限らないことです (の幅によって異なります#content
)。の幅は (ウィンドウの幅に応じて) 可変であるため#content
、サイドバーが常にその親の右端にあるようにするにはどうすればよいですか?
例:
これが私が今持っているものです:
<--- variable window width ---->
---------------------------------
| (header) |
---------------------------------
[content] | [sidebar] |
| |
| |
| |
| |
| |
| |
そして、ここに私が欲しいものがあります:
<--- variable window width ---->
---------------------------------
| (header) |
---------------------------------
[content] | [sidebar] |
| |
| |
| |
| |
| |
| |
この問題を解決するためにさらに情報が必要な場合はお知らせください。ありがとう!
PS - フロートでこれを簡単に達成できることはわかっています。CSS テーブルを使用するソリューションを探しています。
解決:
#wrapper { min-width: 900px; }
#main { display: table; table-layout: fixed; }
#content { display: table-cell; }
#sidebar { display: table-cell; width: 250px; }
匿名のテーブル要素table-row
のおかげで、要素を宣言する必要はありません。