我一直在擺弄這一整天,我得到的最接近的是以下佈局,適用於Chrome(但不適用於Firefox)。不可能看似簡單的CSS佈局?
- 是否有可能沒有表(沒有js)?
- 是否有可能使其跨瀏覽器(表或不是js)?
要查看所需的行爲,請嘗試更改窗口/顯示框的高度。
要點:
1.佈局總是至少是窗口的大小,但如果左邊的內容推動窗口,它可以擴展。
2.右側的可滾動區域總是佔據整個內部空間,但不會擴展它,這意味着內部高度由左側內容(或窗口大小,以較大者爲準)確定。
這裏是一個的jsfiddle鏈接: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。 – 2012-01-05 04:14:46
@TimMedora,如何進行的任何指針? – Roman 2012-01-05 04:17:16
從消除表開始。從長遠來看,它確實不會讓事情變得更容易。我試圖爲你創建一個簡單的小提琴,但沒有任何承諾:) – 2012-01-05 04:19:16