2011-04-05 126 views
2

在我的頁面中,我有三個部分Header,Body和Footer。 在身體我有三個divs。第一格包括另外兩個小格子。HTML,嵌套Div問題

我寫了這個CSS代碼:

#body_container{ 
    margin: 10px 160px; 
    height: auto; 
    width: 100%; 
    clear: both; 
    border: 1px solid #3F0; 
} 

div.body_contents{ 
    height: auto; 
    width: 74%; 
    float: left; 
    border: 1px solid #960; 
} 

div.sidebar{ 
    height: auto; 
    width: 25%; 
    float: right; 
    border: 1px solid #F0F; 
} 

但是當我檢查,DIV是我的框架。我給了160px的左右邊距。我該怎麼辦? 感謝

enter image description here

+3

首先你應該提供一個最低的HTML代碼,讓回答者可以重現您的問題 – ITroubs 2011-04-05 07:36:09

回答

1

我討厭使用百分比,因爲它們依賴於其他的事情。

我通常做一些靜態值,比如:

#body_container{ 
    margin: 10px auto; /** The auto will make this div centered to the page **/ 
    width: 1000px; /** suppose you want this width **/ 
    clear: both; 
    border: 1px solid #3F0; 
} 

div.body_contents{ 
    width: 748px; /** The width of the main part, -2px (for the border) **/ 
    float: left; 
    border: 1px solid #960; 
} 

div.sidebar{ 
    width: 248px; /** The width of the side bar, -2px (for the border) **/ 
    border: 1px solid #F0F; 
} 

當然,如果你想你的寬度主要div來改變瀏覽器的大小有關(因爲它會與你原來的CSS),我的回答不起作用。

但我建議你不要根據瀏覽器進行寬度更改,因爲它會根據窗口更改頁面的組織。

+0

感謝您的指南,因爲你預測我想改變任何關於改變瀏覽器。但是你的建議是非常有幫助的。再次感謝。 – Hesam 2011-04-05 07:48:20

+0

不客氣:) – 2011-04-05 09:49:47

1

這很簡單,margin添加到元素的最終渲染寬度(160 x 2 + 100%的父寬度,所以它是溢出),所以你可能想讓它,例如,外部div ,寬度爲79%,左右邊距分別爲10%(因此總數爲99%,爲了留出一些空間用於邊界等等,雖然通常不是這樣)

例如:http://jsfiddle.net/MKjwU/6/

一兩件事:清除浮動,你不清晰,彷彿是你的榜樣?

要麼使用分機RA格,像這樣:http://jsfiddle.net/MKjwU/7/

或使用該技術:http://www.quirksmode.org/css/clearing.html

看到它:http://jsfiddle.net/MKjwU/8/