私は一日中これを手にしていましたが、私が得た最も近いものは、Chromeで動作する次のレイアウトです(しかしFirefoxではそうではありません)。一見不可能な一見単純なCSSレイアウトですか?
- テーブルを使用せずに(jを使用せずに)行うことはできますか?
- クロスブラウザ(テーブルでもなく、jsでもない)を作ることは可能ですか?
目的の動作を確認するには、ウィンドウ/表示ボックスの高さを変更してみます。
主なポイントは次のとおりです。
1.レイアウトは常にウィンドウのサイズ以上ですが、左側のコンテンツがウィンドウを押すと展開できます。
2.右のスクロール可能領域は、常に内部空間全体を占めますが、展開しません。つまり、内部の高さは左のコンテンツ(またはウィンドウのサイズのいずれか大きい方)によって決まります。 http://jsfiddle.net/BNmJM/
とコード:
<!doctype html>
<html>
<head>
<style type="text/css">
*{
margin: 0;
padding: 0;
border: 0;
}
html, body {
height: 100%;
}
td{
vertical-align:top;
}
#wrapper{
border-collapse: collapse;
border-spacing: 0;
width:500px;
margin:0 auto;
border-left:2px dashed black;
border-right:2px dashed black;
height: 100%;
}
</style>
</head>
<body>
<table id="wrapper">
<tr><td colspan=2 style="height:20px;">
<div style="border-bottom:2px dashed black;height:20px;text-align:center;">header</div>
</td></tr>
<tr>
<td>
<div id="contentLeft" style="height:300px; width:100px;border:6px dashed green;"></div>
</td>
<td style="width:100px;border-left:2px dashed black">
<div style="height:100%;width:100px;overflow-y:scroll;">
<div id="contentRight" style="height:500px; width:60px;border:6px dashed red;"></div>
</div>
</td>
</tr>
<tr><td colspan=2 style="height:20px;">
<div style="border-top:2px dashed black;height:20px;text-align:center;">footer</div>
</td></tr>
</table>
</body>
</html>
、はい、これはテーブルやJSせずに間違いなく可能です。 –
@TimMedora、どのように進めるのか? – Roman
テーブルを削除することから始めてください。長期的には本当に物事を楽にしません。私は単純なフィドルを作成しようとしていますが、そのトリックは行いますが、約束はしません:) –