我想創建一個網頁佈局,其中側邊欄位於右側,主要內容位於側邊欄。右側浮動側邊欄主要內容流動 - 如何?
要求:側邊欄下方
- 內容應占據所有可用的寬度
- 當它擊中邊欄的
- 主要內容應先左側邊欄中下面的內容應該不換標記中的邊欄
- 邊欄具有固定寬度但未知/可變高度
- 僅限CSS - 無JavaScript解決方案納秒
這可以在沒有第三個要求來實現:如果邊欄是在標記的主要內容之前和是相同的含元素中,一個簡單的右浮動做這項工作。標記中的主要內容之前的側欄不是此處的選項。側邊欄將包含補充信息和廣告。如果這是標記中的主要內容之前,那麼對於無CSSless瀏覽器和屏幕閱讀器用戶(即使使用「跳轉到...」鏈接)也會很煩人。
這可以在沒有第四個要求的情況下實現。如果側邊欄有一個固定的高度,我可以在主要內容之前放置一個容納元素,將其右側浮動並給予合適的寬度和高度,然後使用絕對定位將側邊欄放置在預製空間的頂部。
示例標記(不包括CSS,只有相關的位):
<body>
<div id="content">
<p>
Lorem ipsum ....
</p>
<p>
Pellentesque ....
</p>
<div id="sidebar">
/* has some form of fixed width */
</div>
</div>
</body>
佈局例:
alt text http://webignition.net/images/layoutexample.png
我不知道這是可能的。我很高興接受一個權威性的回答,說明這是無法實現的。如果這不能實現,我會很感激一個解釋 - 知道爲什麼它不能實現比僅僅被告知它不能實現更有價值。
更新:我很高興看到不符合所有五項要求的答案,只要答案指出哪些要求被忽略,以及忽略忽略要求的後果(利弊)。然後我可以做出明智的妥協。
更新2:我不能忽略要求3 - 側邊欄不能在內容之前。
[jsfiddle](http://jsfiddle.net/Matte_000/sdo2x966/) – Matmarbon 2014-08-08 08:38:06