2008-11-08 208 views
7

我不能爲我的生活找到一種方法來完成這項工作。CSS佈局問題

如果我有3個div(一個左側邊欄,一個主體和一個頁腳),我怎麼能讓邊欄和主體彼此相鄰而不將它們的位置設置爲「絕對」或浮動它們?做這些選項中的任何一個都會導致頁腳div不被其中一個按下。

無論在這些元素之前出現什麼東西(比如說另一個頭div或其他東西),我該如何實現?

萬一有幫助,這裏有兩種情況,我想允許一個例證:

alt text http://www.nickawilliams.com/files/layout.jpg

這裏是HTML的簡化版本,我公司目前已成立:

<div id="sidebar"></div> 
<div id="content"></div> 
<div id="footer"></div> 

回答

18

你需要指定頁腳以清除浮動:

#footer{ 
clear: both; 
} 

這強制它在浮動元素下。

清除的其他選項是左和右。

+0

謝謝!這正是需要的!我嘗試了使用清晰,但浮動divs而不是頁腳,現在它按預期工作。 – Wilco 2008-11-08 02:59:53

0

現在,如果您不想浮動任何東西,也不會使用position:absolute,那麼您現在已經很沒有希望了。

剩下的唯一的選擇是:

  • 使用display:inline-block的側邊欄和內容的div
  • 等待css advanced layout module或一些列模塊(這是不是然而所有瀏覽器都支持) (會採取永遠可能)
  • 回去使用表格
1

做這些選項導致頁腳DIV不被一個或另一個推下?

嘗試this tool